1. Enkle spørringer ble beskrevet i forrige leksjon
SQL og viser data fra to tabeller
I denne leksjonen vil vi lære å lage spørringer ved hjelp av Indre
, Venstre
i Høyre Bli
.
For hensikten med denne leksjonen vil vi igjen bruke tabeller my_table Hotell og landet
.
For å se den komplette strukturen i databasen kan du se leksjonen nevnt ovenfor.
2. Så langt har vi lært at vi kan få data fra to tabeller hvis vi bruker velger og matche felt i begge tabellene.
SELECT * FROM my_table AS en, country AS bWHERE a.id_country = b.id
stedet for dette kan vi også bruke INNER JOIN som er bare en annen syntaks for eksempelet ovenfor. Logikken bak dette er den samme, og det er derfor også det endelige resultatet vil bli det samme.
SELECT * FROM my_table AS en
INNER JOIN landet AS b
PÅ a.id_country = b.id
3. Selvfølgelig kan vi legge til flere forhold i slutten av SQL-setningen også i dette tilfellet ved hjelp av søkeordet WHERE.
SELECT * FROMmy_table AS aINNER BLI landet AS Bon a.id_country = b. idWHERE b.name = 'Japan'
4. I eksempelet ovenfor vi er samsvar a.id_country = b.id.
Problemet her er at hvis det ikke er kamp, vil det ikke være returnert data.
Hvis vi ønsker å se dataene fra første bord, selv om det ikke er kamp i andre tabellen, trenger vi LEFT JOIN.
SELECT * FROMmy_table AS aLEFT BLI landet AS b ON a.id_country = b.id
Dette vil returnere alle postene fra my_table
. Hvis det blir ingen kamp for feltet id
, vil vi fortsatt få postene, vil bare manglende verdier være tom (NULL).
5. Lignende logikk gjelder også RIGHT JOIN.
I dette tilfellet søket vil returnere alle postene fra andre bord, selv om det ikke er kamp i den første tabellen.
SELECT * FROMmy_table AS aright BLI landet AS b ON a.id_country = b.id Anmeldelser
Hovedideen bak dette er at ved å bruke VENSTRE Hotell og RIGHT BLI
kan vi sørge for at vi alltid vil få alle data.
<
Ved hjelp av Indre, Venstre i Høyre Delta i SQL
Next Page:SQL og viser data fra to tables