Heim  >  Artikel  >  Datenbank  >  In welcher Reihenfolge werden SQL-Schlüsselwörter ausgeführt?

In welcher Reihenfolge werden SQL-Schlüsselwörter ausgeführt?

清浅
清浅Original
2019-04-09 10:59:4414349Durchsuche

Die Reihenfolge, in der SQL-Schlüsselwörter ausgeführt werden, ist: zuerst die Anweisung „from“ ausführen, dann die Anweisung „group by“ und schließlich die Anweisung „order by“;

In welcher Reihenfolge werden SQL-Schlüsselwörter ausgeführt?

[Empfohlene Kurse: MySQL-Tutorial]

SQL-Schlüsselwort-Ausführungsreihenfolge

Beispiel:

select m.* from(select t.*,rownum r from
(select id,name,e.username,e.realname from departments d ,employees e where d.manager=e.username(+)
order by id desc ) t where rownum<=? ) m where r>?

select m.*(select t.*,t.rownum r from(
select a,b,c,d from table1 order by a desc
) t where rownum < = ? ) m
where r > ?

Die Standard-SQL-Analysereihenfolge ist

(1 ) FROM-Klausel, Daten aus verschiedenen Datenquellen zusammenstellen

(2) WHERE-Klausel, Datensätze basierend auf angegebenen Bedingungen filtern

(3) GROUP BY-Klausel, wird Die Daten werden in mehrere Gruppen unterteilt

(4) Verwenden Sie Aggregatfunktionen zum Berechnen

(5) Verwenden Sie die HAVING-Klausel, um Gruppen zu filtern

(6) Berechnen Sie alle Ausdrücke

(7) Verwenden Sie ORDER BY, um den Ergebnissatz zu sortieren

Beispiel

Gruppieren Sie in der Schülernotentabelle (vorläufig als tb_Grade bezeichnet) die Datensätze, deren „Kandidatenname“ lautet " Der Inhalt ist laut „Kandidatenname" nicht leer und filtert die Gruppierungsergebnisse, um

auszuwählen, dessen „Gesamtpunktzahl" mehr als 600 Punkte beträgt. Die SQL-Anweisung lautet:

 select 考生姓名, max(总成绩) as max总成绩
  from tb_Grade
  where 考生姓名 is not null
  group by 考生姓名
  having max(总成绩) > 600
  order by max总成绩

Im obigen Beispiel ist die Ausführungsreihenfolge der SQL-Anweisungen wie folgt:

(1) Führen Sie zuerst die FROM-Klausel aus und stellen Sie die Daten aus der Datenquelle aus der Tabelle tb_Grade zusammen

(2) Führen Sie die WHERE-Klausel aus und filtern Sie alle Daten in der Tabelle tb_Grade, die nicht NULL sind.

(3) Führen Sie die Klausel GROUP BY aus und gruppieren Sie die Tabelle tb_Grade nach der Spalte „Studentenname“.

(4) Berechnen Sie die Aggregatfunktion max() und ermitteln Sie die größten Werte in der Gesamtpunktzahl gemäß „Gesamtpunktzahl“

(5) Führen Sie die HAVING-Klausel aus und filtern Sie die Kurse deren Gesamtpunktzahl mehr als 600 Punkte beträgt.

(6) Führen Sie die ORDER BY-Klausel aus und sortieren Sie die Endergebnisse nach „Max Score“.

Zusammenfassung: Das Obige ist das Ganze Ich hoffe, dass der Inhalt dieses Artikels für alle hilfreich ist.

Das obige ist der detaillierte Inhalt vonIn welcher Reihenfolge werden SQL-Schlüsselwörter ausgeführt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn