Teil 1 – Joins und Unions
Zwei oder mehr Tabellen mithilfe eines Inner Join verbinden
select
a.ID,
b.model
from
cars a
join models b
on a.model=b.ID
Nach dem Login kopieren
Nach dem Login kopieren
Verwenden einer Union-Abfrage
select
a.ID,
b.model,
c.color
from
cars a
join models b
on a.model=b.ID
join colors c
on a.color=c.ID
where
b.ID=1
union all
select
a.ID,
b.model,
c.color
from
cars a
join models b
on a.model=b.ID
join colors c
on a.color=c.ID
where
b.ID=3
Nach dem Login kopieren
Links und rechts außen Joins
select
a.brand
from
brands a
left outer join cars b
on a.ID=b.brand
Nach dem Login kopieren
Intersect Queries
select
*
from
colors
where
ID>2
intersect
select
*
from
colors
where
id<4
Nach dem Login kopieren
Teil 2 – Unterabfragen
Was sie sind, wo sie verwendet werden können und worauf man achten sollte
Eine Unterabfrage ist eine SELECT-Anweisung, die in einer anderen SELECT-Anweisung verschachtelt ist. Unterabfragen können verwendet werden, um komplexe Datenabrufvorgänge wie Filterung, Sortierung und Aggregation durchzuführen.
Wo sie verwendet werden können
Unterabfragen können im Folgenden verwendet werden Orte:
- In der WHERE-Klausel zum Filtern der Zeilen, die von der äußeren zurückgegeben werden Abfrage.
- In der HAVING-Klausel, um die Gruppen von Zeilen zu filtern, die von der äußeren Abfrage zurückgegeben werden.
- In der SELECT-Klausel, um die Spalten anzugeben, die von der äußeren Abfrage zurückgegeben werden.
- In der FROM-Klausel zur Angabe der Tabellen, die durch die äußere Abfrage verknüpft werden.
Was Sie beachten sollten für
Bei der Verwendung von Unterabfragen ist es wichtig, Folgendes zu beachten:
- Die Ausführung von Unterabfragen kann teuer sein, daher ist es wichtig, sie nur bei Bedarf zu verwenden .
- Unterabfragen können schwer zu lesen und zu verstehen sein, daher ist es wichtig, sie gut zu dokumentieren.
- Unterabfragen können anfällig sein für SQL-Injection-Angriffe, daher ist es wichtig, parametrisierte Abfragen zu verwenden, wenn Unterabfragen in dynamischem SQL verwendet werden.
Teil 3 – Tricks und effizienter Code
Tricks
- Verwenden Sie Aliase für Tabellennamen, um Ihre Abfragen leichter lesbar zu machen verstehen.
- Verwenden Sie Klammern, um Ihre Unterabfragen zu gruppieren, damit sie leichter lesbar und verständlich sind.
- Verwenden Sie die EXPLAIN-Anweisung, um zu sehen, wie Ihre Abfragen von der Datenbank ausgeführt werden.
- Verwenden Sie Indizes, um die Leistung Ihrer Abfragen zu verbessern.
Effizient Code
- Verwenden Sie die richtigen Datentypen für Ihre Spalten.
- Vermeiden Sie die Verwendung von SELECT * in Ihren Abfragen.
- Verwenden Sie die WHERE-Klausel, um die Zeilen zu filtern die von Ihren Abfragen zurückgegeben werden.
- Verwenden Sie die ORDER BY-Klausel, um die von Ihren Abfragen zurückgegebenen Zeilen zu sortieren Abfragen.
- Verwenden Sie die LIMIT-Klausel, um die Anzahl der Zeilen zu begrenzen, die von Ihren Abfragen zurückgegeben werden.
Teil 4 – Unterabfragen in der From-Klausel
Unterabfragen können kann in der FROM-Klausel verwendet werden, um die Tabellen anzugeben, die durch die äußere Abfrage verknüpft werden. Dies wird als abgeleitete Tabelle bezeichnet. Abgeleitete Tabellen können verwendet werden, um komplexe Datenabrufvorgänge wie Filterung, Sortierung und Aggregation durchzuführen.
Das folgende Beispiel zeigt, wie eine Unterabfrage in der FROM-Klausel verwendet wird, um die Zeilen zu filtern, die von der äußeren zurückgegeben werden Abfrage:
select
a.ID,
b.model
from
cars a
join models b
on a.model=b.ID
Nach dem Login kopieren
Nach dem Login kopieren
Teil 5 – Gemischte Sammlung von Johns Tricks
Johns Tricks
- Verwenden Sie die CASE-Anweisung, um Ausdrücke bedingt auszuwerten.
- Verwenden Sie die Funktion COALESCE, um den ersten Nicht-NULL-Wert in einer Liste von zurückzugeben Ausdrücke.
- Verwenden Sie die GREATEST-Funktion, um den größten Wert in einer Liste von Ausdrücken zurückzugeben.
- Verwenden Sie die LEAST-Funktion, um den kleinsten Wert in einer Liste von Ausdrücken zurückzugeben.
- Verwenden Sie die MOD-Funktion, um den Rest einer Divisionsoperation zu berechnen.
- Verwenden Sie die NOW-Funktion, um das aktuelle Datum zu erhalten und Zeit.
- Verwenden Sie die RAND-Funktion, um eine Zufallszahl zu generieren.
- Verwenden Sie die ROUND-Funktion, um eine Zahl auf die nächste ganze Zahl zu runden.
- Verwenden Sie die TRUNCATE-Funktion, um a abzuschneiden Zahl auf eine bestimmte Anzahl von Dezimalstellen genau.
Das obige ist der detaillierte Inhalt vonWie kann ich SQL-Abfragen mithilfe von Joins, Unions, Unterabfragen und erweiterten Funktionen optimieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!