Heim  >  Artikel  >  Datenbank  >  Detailliertes Tutorial zur MySQL-Unterabfrage

Detailliertes Tutorial zur MySQL-Unterabfrage

WBOY
WBOYnach vorne
2022-11-02 16:32:211803Durchsuche

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.dname

4.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 ab

1) 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 ab

3) Syntaxmechanismus: limit startIndex, length

startindex 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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen