Dies ist eine erweiterte Version. Die Fragen und SQL-Anweisungen lauten wie folgt. Erstellen Sie eine Benutzertabelle und legen Sie die Felder „ID“, „Name“, „Geschlecht“ und „Sal“ fest, wobei „ID“ der Primärschlüssel ist. Tabelle löschen, wenn Benutzer vorhanden sind; Tabelle erstellen, falls keine Benutzer vorhanden sind ( id int(5) Primärschlüssel auto_increment, Name varchar(10) eindeutig nicht null, Geschlecht varchar(1) nicht null, sal int(5) nicht null ); in Benutzer (Name, Geschlecht, Sal.) Werte (,AA‘, ,男‘, 1000) einfügen; in Benutzer (Name, Geschlecht, Sal.) Werte (,BB‘,,Geschlecht‘,1200) einfügen; -------------------------------------------------------------------------------------------------- Eins-zu-eins: Wie lautet die ID-Nummer von AA? Tabelle löschen, wenn Benutzer vorhanden sind; Tabelle erstellen, falls keine Benutzer vorhanden sind ( id int(5) Primärschlüssel auto_increment, Name varchar(10) eindeutig nicht null, Geschlecht varchar(1) nicht null, sal int(5) nicht null ); in Benutzer (Name, Geschlecht, Sal.) Werte (,AA‘, ,男‘, 1000) einfügen; in Benutzer (Name, Geschlecht, Sal.) Werte (,BB‘,,Geschlecht‘,1200) einfügen; Tabelle löschen, wenn Karten vorhanden sind; Tabelle erstellen, falls keine Karten vorhanden sind ( id int(5) Primärschlüssel auto_increment, num int(3) ungleich null eindeutig, loc varchar(10) nicht null, uid int(5) ungleich null unique, Einschränkung uid_fk Fremdschlüssel (uid) verweist auf Benutzer (id) ); in Karten einfügen (Num, Ort, UID) Werte (111, „Insel“, 1); in Karten einfügen (Num, Ort, UID) Werte (222, „Eingabe“, 2); [Hinweis: Inner Join bedeutet Inner Join] wähle u.name "Name",c.num "ID-Nummer" von Benutzern u Inner Join-Karten c auf u.id = c.uid wobei u.name = 'AA'; -- wähle u.name "Name",c.num "ID-Nummer" von Benutzern u Inner Join-Karten c auf u.id = c.uid wobei Name = „AA“; --------------------------------------------- One-to-many: Abfrage der Mitarbeiter in der „Entwicklungsabteilung“ Erstellen der Gruppentabelle Tabelle löschen, wenn Gruppen vorhanden sind; Tabelle erstellen, falls keine Gruppen vorhanden sind ( id int(5) Primärschlüssel auto_increment, Name varchar(10) nicht null ); in Gruppen (Name) Werte ('Entwicklungsabteilung') einfügen; in Gruppen (Name) Werte ('Verkaufsabteilung') einfügen; Erstellen der emps-Tabelle Tabelle löschen, falls vorhanden, emps; Tabelle erstellen, falls nicht vorhanden emps( id int(5) Primärschlüssel auto_increment, Name varchar(10) nicht null, gid int(5) ungleich null, Einschränkung gid_fk Fremdschlüssel (gid) Referenzen Gruppen (id) ); in emps(name,gid) Werte einfügen('Name',1); in emps(name,gid) Werte einfügen('Name',1); in emps(name,gid) Werte einfügen('Name',2); in emps(name,gid) Werte einfügen('Name',2); Prüfen Sie, welche Mitarbeiter in der Entwicklungsabteilung sind select g.name "Abteilung",e.name "Mitarbeiter" von Gruppen g innerer Join emps e auf g.id = zBgid wobei g.name = „Entwicklungsabteilung“; -- select g.name "Abteilung",e.name "Mitarbeiter" von Gruppen g innerer Join emps e auf g.id = zBgid wobei g.name = „Entwicklungsabteilung“; ------------------------------------------------------ Viele-zu-viele: Abfrage, welche Schüler "Zhao" unterrichtet hat Erstellen Sie die Studententabelle Tabelle löschen, wenn Studenten vorhanden sind; Tabelle erstellen, falls keine Studenten vorhanden sind ( id int(5) Primärschlüssel auto_increment, Name varchar(10) nicht null ); in Studenten (Name) Werte ('Studentenname') einfügen; in Studenten (Name) Werte einfügen ('Studentenname'); Erstellen Sie den Lehrertisch Tabelle löschen, wenn Lehrer vorhanden sind; Tabelle erstellen, falls keine Lehrer vorhanden sind ( id int(5) Primärschlüssel auto_increment, Name varchar(10) nicht null ); in Lehrer(Name) Werte('赵') einfügen; in Lehrer(Name) Werte('Name') einfügen; Erstellen Sie die mittlere Tabelle. Der Primärschlüssel (sid, tid) stellt den gemeinsamen Primärschlüssel dar. Die beiden Felder müssen eindeutig sein. Tabelle löschen, wenn Mitten vorhanden sind; Tabelle erstellen, falls keine Mitte vorhanden ist ( sid int(5), Einschränkung sid_fk Fremdschlüssel (sid) verweist auf Studenten (id), tid int(5), Einschränkung tid_fk Fremdschlüssel (tid) verweist auf Lehrer (id), Primärschlüssel (Sid, Tid) ); in Mitten (sid, tid) Werte (1,1) einfügen; in Mitten (sid, tid) Werte (1,2) einfügen; in Mitten (sid, tid) Werte (2,1) einfügen; in Mitten (sid, tid) Werte (2,2) einfügen; Abfrage, welche Schüler "Zhao" unterrichtet hat wähle t.name "Lehrer",s.name "Schüler" von Schülern s innerer Join Mitte m innerer Join Lehrer t am (s.id=m.sid) und (m.tid=t.id) wobei t.name = "Zhao"; -- wähle t.name "Lehrer",s.name "Schüler" von Schülern s innerer Join Mitte m innerer Join Lehrer t am (s.id=m.sid) und (t.id=m.tid) wobei t.name = "Zhao"; -------------------------------------------------------------------------------------------------------------------- Mitarbeiter mit einem Gehalt von 5.000 RMB oder mehr werden als „Hochgehalt“ gekennzeichnet, andernfalls als „Einstiegsgehalt“. Mitarbeiter mit einem Gehalt von NULL als „unbezahlt“ identifizieren Mitarbeiter mit einem Gehalt von 5.000 RMB oder mehr werden als „Hochgehalt“ gekennzeichnet, andernfalls als „Einstiegsgehalt“. Mitarbeiter mit einem Gehalt von 7.000 Yuan werden als „hohes Gehalt“ gekennzeichnet, Mitarbeiter mit einem Gehalt von 6.000 Yuan als „mittleres Gehalt“ und Mitarbeiter mit einem Gehalt von 5.000 Yuan als „Einstiegsgehalt“, andernfalls als „Probegehalt“. --------------------------------------------------------------------------------------------------------------------- Inner Join (äquivalenter Join): Abfrage Kundenname, Bestellnummer, Bestellpreis [Hinweis: Der innere Join „customers c“ für Bestellungen o verwendet einen Alias, daher wird „o“ von nun an für Bestellungen stehen] select c.name "Kundenname", o.isbn "Bestellnummer", o.price "Bestellpreis" von Kunden c innere Join-Aufträge o ein c.id = o.customers_id; -- select c.name "Kundenname", o.isbn "Bestellnummer", o.price "Bestellpreis" von Kunden c innere Join-Bestellungen o ein c.id = o.customers_id; on+ Die Bedingung für die Verbindung zweier Tabellen. Der Primärschlüssel einer Tabelle und der Fremdschlüssel einer anderen Tabelle Inner Join: Es können nur Datensätze abgefragt werden, die gemäß den Join-Bedingungen in beiden Tabellen vorhanden sind, was in gewisser Weise der Schnittmenge in der Mathematik ähnelt. ---------------------------------------------------- Äußere Verbindung: Gruppieren nach Kunden und Abfrage des Namens und der Anzahl der Bestellungen jedes Kunden Äußerer Join: Sie können die Datensätze in beiden Tabellen basierend auf den Join-Bedingungen abfragen, oder Sie können die Datensätze in einer Tabelle abfragen, auch wenn die andere Tabelle die Bedingungen nicht erfüllt. Äußere Verknüpfungen können wie folgt unterteilt werden: <Left Outer Join: Mit der linken Seite als Referenz bedeutet Left Outer Join: select c.name, count(o.isbn) von Kunden c Left Outer Join-Aufträge o auf c.id = o.customers_id Gruppierung nach c.name; -- >Rechter äußerer Join: Mit der rechten Seite als Referenz bedeutet rechter äußerer Join „select c.name, count(o.isbn)“ von Bestellungen o rechter äußerer Join Kunden c auf c.id = o.customers_id Gruppierung nach c.name; Left Outer Join bedeutet, dass der gesamte Inhalt links angezeigt wird, z. B. Kunden c Left Out Join bedeutet, dass der gesamte Inhalt einer Spalte in Kunden gefunden wird ------------------------------------------------------ Wählen Sie users.ename,bosss.ename von emps-Benutzern innerlich beitreten emps-Chefs auf users.mgr = bosss.empno; Wählen Sie users.ename,bosss.ename von emps-Benutzern links außen beitreten emps-Chefs auf users.mgr = bosss.empno; ----------------------------------------------------------------------------------------------- Datums- und Uhrzeitfunktionen: Wählen Sie addtime('2016-8-7 23:23:23','1:1:1'); Zeitaddition wählen Sie current_date(); wähle aktuelle_Zeit(); jetzt auswählen(); wähle Jahr (jetzt()); Monat auswählen (jetzt()); Tag auswählen (jetzt()); Wählen Sie Datediff('2016-12-31',jetzt()); Zeichenfolgenfunktionen: wähle Zeichensatz('Zeichensatz'); wähle concat('hallo','haha','ma'); wählen Sie instr('www.baidu.com','baidu'); Wählen Sie Teilzeichenfolge („www.baidu.com“, 5,3); Mathematische Funktionen: wähle bin(10); select floor(3.14); //Die größte Ganzzahl kleiner als 3,14 --- positive 3 select floor(-3.14); //Die größte Ganzzahl kleiner als -3.14 --- negative 4 select ceiling(3.14); //Die kleinste Ganzzahl größer als 3,14 --- positive 4 select ceiling(-3.14);//Die kleinste Ganzzahl größer als -3,14 --- negativ 3, muss ein ganzzahliger Wert sein select format(3.1415926,3); behalte 3 Dezimalstellen, runde auf select mod(10,3);//Hole den Rest select rand();// Verschlüsselungsfunktion: Wählen Sie md5('123456'); Gibt die 32-Bit Hexadezimalzahl e10adc3949ba59abbe56e057f20f883e zurück Demonstrieren Sie Flusssteuerungsanweisungen in MySQL verwende JSON; Tabelle löschen, wenn Benutzer vorhanden sind; Tabelle erstellen, falls keine Benutzer vorhanden sind ( id int(5) Primärschlüssel auto_increment, Name varchar(10) ungleich null eindeutig, sal int(5) ); in Benutzer (Name, Sal) Werte ('Benutzer', 3000) einfügen; in Benutzer (Name, Sal) Werte ('Name', 4000) einfügen; in Benutzer (Name, Sal) Werte ('Benutzer', 5000) einfügen; in Benutzer (Name, Sal) Werte ('Name', 6000) einfügen; in Benutzer (Name, Sal) Werte ('Name', 7000) einfügen; in Benutzer (Name, Sal) Werte ('丝丝', 8000) einfügen; in Benutzer (Name, Sal) Werte ('Benutzername', 9000) einfügen; in Benutzer (Name, Sal) Werte ('Benutzer', 10000) einfügen; in Benutzer (Name, Sal) Werte ('Name', NULL) einfügen; Mitarbeiter mit einem Gehalt von 5.000 RMB oder mehr werden als „Hochgehalt“ gekennzeichnet, andernfalls als „Einstiegsgehalt“. select name "Name",sal "Gehalt", if(sal>=5000,"hohes Gehalt","Anfangsgehalt") "Beschreibung" von Benutzern; Mitarbeiter mit einem Gehalt von NULL als „unbezahlt“ identifizieren wähle den Namen "Name",ifnull(sal,"unbezahlt") "Gehalt" von Benutzern; Mitarbeiter mit einem Gehalt von 5.000 RMB oder mehr werden als „Hochgehalt“ gekennzeichnet, andernfalls als „Einstiegsgehalt“. select name "Name",sal "Gehalt", Fall, wenn sal>=5000 dann "hohes Gehalt" else "Einstiegsgehalt" end "Beschreibung" von Benutzern; Mitarbeiter mit einem Gehalt von 7.000 Yuan werden als „hohes Gehalt“ gekennzeichnet, Mitarbeiter mit einem Gehalt von 6.000 Yuan als „mittleres Gehalt“ und Mitarbeiter mit einem Gehalt von 5.000 Yuan als „Einstiegsgehalt“, andernfalls als „Probegehalt“. select name "Name",sal "Gehalt", fall sal wenn 3000 dann "niedriges Gehalt" wenn 4000 dann "Einstiegsgehalt" wenn 5000 dann "Probegehalt" wenn 6000 dann "mittleres Gehalt" wenn 7000 dann "besseres Gehalt" wenn 8000 dann "kein schlechtes Gehalt" wenn 9000 dann "hohes Gehalt" sonst "hohes Gehalt" Ende "Beschreibung" von Benutzern; Oben sind die vom Herausgeber eingeführten, unverzichtbaren SQL-Anweisungen für die MySQl-Datenbank (erweiterte Version). Ich hoffe, sie sind für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Das könnte Sie auch interessieren:
|
<<: So beheben Sie das Eingabe-Jitter-Problem beim WeChat-Applet
>>: Unterschiede zwischen diesem Schlüsselwort in NodeJS und Browsern
Zunächst müssen wir verstehen, dass ein TCP-Socke...
1. Laden Sie die JDK-Download-Adresse herunter我下載...
● Ich hatte vor, einige Cloud-Daten zu kaufen, um...
Inhaltsverzeichnis Ändern der Repository-Quelle S...
1. Einleitung Mit Imagemaps können Sie Bereiche e...
<br />Zu jedem unserer Themen bespricht das ...
Dieser Artikel verwendet Vue und fügt Mausklicker...
Wenn wir das Platzhalterzeichen „like %“ verwende...
Inhaltsverzeichnis 1. Was ist scrapy_splash? 2. D...
Inhaltsverzeichnis Vorwort Untergeordnete Kompone...
Einführung Wie im vorherigen Artikel erwähnt, gib...
Einführung: Als ich mir in letzter Zeit die Frage...
In diesem Artikel wird ein allgemeines Beispiel f...
Der Unterschied zwischen http und https ist Bei m...
1. Laden Sie die virtuelle Maschine herunter Offi...