Detailliertes Tutorial zur MySQL-Unterabfrage
Dieser Artikel bringt Ihnen relevantes Wissen über MySQL, in dem hauptsächlich die relevanten Inhalte zu Unterabfragen vorgestellt werden, einschließlich verschachtelter Unterabfragen nach „where“, verschachtelter Unterabfragen nach „from“ und verschachtelten Unterabfragen nach „select“. Schauen wir uns diese für Anfragen usw. an Ich hoffe, dass es für alle hilfreich ist.
Empfohlenes Lernen: MySQL-Video-Tutorial
Definition: Select-Anweisungen sind in Select-Anweisungen verschachtelt, und die verschachtelten Select-Anweisungen sind Unterabfragen.
Unterabfrage kann erscheinen in:
select ....(select).. from ....(select).. where ....(select)..
1. Verschachtelte Unterabfrage nach „wo“
select * from emp where sal > (select avg(sal) from emp) ;
2. Verschachtelte Unterabfrage nach „auswählen“
Finden Sie den Abteilungsnamen jedes Mitarbeiters heraus
SELECT d.dname,AVG(s.grade) '部门平均薪资' FROM emp e JOIN salgrade s ON e.sal BETWEEN s.losal AND s.hisal JOIN dept d ON e.deptno = d.deptno GROUP BY d.dname4.union kann die Abfrageergebnissätze
写法一:看作临时表 SELECT t.ename,d.dname FROM dept d JOIN (SELECT e.ename,e.deptno FROM emp e) t ON t.deptno = d.deptno 写法二:连接查询 SELECT e.ename,d.dname FROM emp e JOIN dept d ON e.deptno = d.deptno 写法三:select后嵌套子查询 SELECT e.ename,(SELECT d.dname FROM dept d WHERE d.deptno = e.deptno) AS dept FROM emp e ;hinzufügen und die Daten in zwei unabhängigen Tabellen können auch zusammengefügt werden. (Aber die Anzahl der Spalten bleibt gleich)
SELECT ename,job FROM emp e WHERE job = 'CLERK'
UNION
SELECT ename,job FROM emp e WHERE job = 'SALESMAN'
5.*Limit
Der entscheidende Punkt, die Paging-Abfrage hängt davon ab1) Limit ist einzigartig für MySQL und existiert nicht in anderen Datenbanken, aber es gibt ein identisches Mechanismus in Oracle namens rownum. 2) limit ruft einen Teil der Daten im Ergebnissatz ab3) Syntaxmechanismus: limit startIndex, lengthstartindex stellt die Startposition dar, beginnend bei 0, 0 stellt das erste Datenelement dar. Länge bedeutet, wie viele man nehmen muss. 4) Limit ist der letzte Ausführungslink in der SQL-Anweisung.
(aktuelle Seitenzahl - 1) * Seitengröße = Anfangsindex der aktuellen Seite
Empfohlenes Lernen: MySQL-Video-Tutorial
Das obige ist der detaillierte Inhalt vonDetailliertes Tutorial zur MySQL-Unterabfrage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT
KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Sie können das Trennzeichen mit dem Schlüsselwort des Separators in der Funktion Group_Concat () anpassen. 1. Verwenden Sie einen Trennzeichen, um einen benutzerdefinierten Trennzeichen wie Trennzeichen anzugeben. 'Der Trennzeichen kann in ein Semikolon und plus Raum geändert werden. 2. Häufige Beispiele sind die Verwendung des Rohrzeichens '|', Space '', Line Break-Zeichen '\ n' oder benutzerdefinierte Zeichenfolge '->' als Trennzeichen; 3.. Beachten Sie, dass das Trennzeichen ein Zeichenfolge oder ein Ausdruck von String sein muss und die Ergebnislänge durch die Variable gruppe_concat_max_len begrenzt wird, die durch setSessionGroup_concat_max_len = 10000 eingestellt werden kann; 4. Separator ist optional

Die Tabelle kann manuell mit Locktables gesperrt werden. Das Leseschloss ermöglicht es mehr, mehrere Sitzungen zu lesen, aber nicht geschrieben werden kann. Die Schreibschloss enthält exklusive Lesen- und Schreibberechtigungen für die aktuelle Sitzung und andere Sitzungen können nicht lesen und schreiben. 2. Das Schloss ist nur für die aktuelle Verbindung. Die Ausführung von StartTransaction und anderen Befehlen wird das Schloss implizit freigeben. Nach dem Sperren kann es nur auf den verschlossenen Tisch zugreifen. 3. Verwenden Sie es nur in bestimmten Szenarien wie MyISAM -Tabellenwartung und Datensicherung. InnoDB sollte der Verwendung von Transaktions- und Zeilenebenen wie Select ... Forupdate Priorität geben, um Leistungsprobleme zu vermeiden. V.

Um Daten aus der MySQL -Tabelle auszuwählen, sollten Sie die SELECT -Anweisung verwenden, 1. Verwenden Sie SelectColumn1, Spalte2FromTable_Name, um die angegebene Spalte zu erhalten, oder verwenden Sie SELECT*, um alle Spalten zu erhalten. 2. Verwenden Sie, wo Klausel zum Filtern von Zeilen wie SelectName, Altersfromusterwuchs> 25; 3.. Verwenden Sie OrderBy, um die Ergebnisse zu sortieren, wie z. B. OrderByagedesc, was absteigender ordentlicher Alter darstellt. V. 5. Verwenden und, oder Klammern, um zu kombinieren, um zu kombinieren

Ifnull () inmysqlreturnStheFirStexpressionifitisnotnull, andere WisereturnStheSecondexpression, MakingIdeAlforreplaccaceNullvalues withdefaults; Forexample, ifnull (Middle_Name, 'n/a') disponculations-/a'dhensclysclyscelclyculations- und A'dhenmiddle_name_name_name_name_name_name_name_name_name_name_name_name_name_name_name_name_name_name, ifnull (diskont/a'dhensname_name_name_name_name_nAnname, idnull, 0)

Verwenden Sie MySQL, um JSON-Daten zu verarbeiten, um semi-strukturierte Daten in relationalen Datenbanken direkt zu speichern, abzufragen und zu betreiben. Seit Version 5.7 werden JSON -Typen unterstützt. Spalten werden über JSON -Datentypen definiert und legale JSON -Werte werden eingefügt. MySQL überprüft automatisch die Syntax. Daten können mit json_extract () oder -> (zurückgegebene Zeichenfolgen zurückgegeben) und ->> (zurückgegebene Werte zurück) wie Profil ->> "$ .City" extrahiert werden, um Stadtnamen zu erhalten. Unterstützende Filterung von JSON -Werten durch Klauseln, und es wird empfohlen, generierte Spalten und Indizes zu verwenden, um die Leistung zu verbessern, wie z. B. AddCityVarchar (50) Gattungen

ThelikeoperatorinMysqlisusedToSearchForpatternSintentextDatAusingwildcards; 1. Verwenden Sie%tomatchAnysequenceFcharacctersandtomatchasingle Charakter; 2. Feurample, 'John%' findsnamessTartingwithjohn, '%Son'findsnamesendingwithson,'%ar%'findsnamescontainingar, \ _ \ _ \ _ \ _ \ _ \ _ \ _

Verwenden Sie die DropView -Anweisung, um eine Ansicht in MySQL zu löschen. 1. Die grundlegende Syntax ist dropviewView_name; 2. Wenn Sie nicht sicher sind, ob die Ansicht vorhanden ist, können Sie dropviewifexistsView_name verwenden, um Fehler zu vermeiden. 3.. Sie können mehrere Ansichten gleichzeitig über DropViewifexistsView1, View2, View3 löschen. Der Löschvorgang beseitigt nur die Ansichtsdefinition und wirkt sich nicht auf die zugrunde liegenden Tabellendaten aus. Sie müssen jedoch sicherstellen, dass keine anderen Ansichten oder Anwendungen auf der Ansicht angewiesen sind, da ansonsten ein Fehler verursacht werden können und der Vollstrecker eine Abfallberechtigungen haben muss.

UseclarecontinueordeclareexithhandlertospecifyErrorhandlingbeaVior, WhetecontinueAllowsexecutionToproceprosederfterTheerror, AndecontinuexexexexecutionThecurrentBlock; 2.HandleErSusingsqlstatevalues (E.g
