Klausulen "DOING" i SQL er et kraftfuldt værktøj, der giver dig mulighed for at kombinere data fra flere tabeller baseret på en relateret kolonne. Her er en sammenbrud af dens funktioner, og hvordan det fungerer:
Formål:
* Kombiner data fra forskellige tabeller: Hovedmålet med 'Deltag' er at oprette et enkelt resultatsæt, der inkluderer data fra to eller flere tabeller. Dette er vigtigt, når din database har relaterede oplysninger, der er gemt på tværs af flere tabeller.
* etablere forhold: 'Deltag' definerer, hvordan dataene fra de forskellige tabeller skal knyttes. Dette gøres ved at specificere en fælles kolonne (eller kolonner), der findes i begge borde.
Typer af sammenføjninger:
SQL tilbyder forskellige typer sammenføjninger, hver med sin egen opførsel:
1. indre sammenføjning:
* Definition: Returnerer kun rækker, hvor sammenføjningen er opfyldt i begge borde. I det væsentlige finder det matchende rækker baseret på sammenføjningstilstand.
* Eksempel: Lad os sige, at du har en 'kunders' bord og et "ordrer" -tabel. En `indre sammenføjning 'på kolonnen' CustomerID 'ville kun returnere de ordrer, der er placeret af kunder, der findes i begge borde.
2. Venstre slutning (eller venstre ydre sammenføjning):
* Definition: Returnerer alle rækker fra det venstre bord (den, der er nævnt før 'venstre sammenføjning') og matchende rækker fra højre tabel. Hvis der ikke findes nogen match i den rigtige tabel, inkluderer den `null` -værdier for de rigtige tabelkolonner.
* Eksempel: Ved hjælp af tabellerne 'Kunder' og 'ordrer' ville en 'venstre join' på 'customerID' returnere alle kunder, selvom de ikke har afgivet nogen ordrer. Ordrer til eksisterende kunder ville blive inkluderet, mens ikke-bestildende kunder ville have `null`-værdier for ordrelaterede kolonner.
3.
* Definition: Returnerer alle rækker fra højre bord og matchende rækker fra venstre bord. Ligesom 'venstre sammenføjning', men vendt. Hvis der ikke findes nogen match i det venstre bord, inkluderer det `null` -værdier for de venstre bordsøjler.
* Eksempel: Ved hjælp af tabellerne 'Kunder' og 'Ordrer' ville en 'højre sammenføjning' på 'customerID' returnere alle ordrer, selvom den tilsvarende kunde ikke findes i tabellen 'Kunder'.
4. fuld sammenføjning (eller fuld ydre sammenføjning):
* Definition: Returnerer alle rækker fra begge borde, uanset om de har en kamp i den anden tabel. Det inkluderer `null` -værdier for kolonner i tabellen, hvor der ikke er nogen matchende række.
* Eksempel: Ved hjælp af tabellerne 'Kunder' og 'ordrer' ville en 'fuld sammenføjning' på 'customerid' returnere alle kunder og alle ordrer. Hvis en kunde ikke har afgivet en ordre, ville ordrelaterede kolonner være `null '. Tilsvarende, hvis en ordre ikke har en matchende kunde, ville kundenrelaterede kolonner være `null '.
Syntaks:
`` `sql
Vælg kolonne_list
Fra tabel1
Deltag i tabel 2
På join_condition;
`` `
* kolonne_list: De kolonner, du vil vælge fra de kombinerede tabeller.
* Tabel1, tabel2: Navnene på de borde, du vil være med.
* join_condition: Et udtryk, der definerer forholdet mellem tabellerne. Dette involverer normalt sammenligning af kolonner fra begge borde ved hjælp af operatører som `=`, `<`, `>` osv.
Eksempel:
`` `sql
Vælg kunder.customerid, kunder.customernavn, ordrer.orderId, ordrer.Orderdato
Fra kunder
Indvendige sammenføjningsordrer
På kunder.customerid =ordrer.customerID;
`` `
Denne forespørgsel ville returnere et resultatsæt, der indeholder `CustomerID ',' CustomerName ',' OrderId 'og' OrderDate 'for alle ordrer, der er placeret af kunder, der findes i både' kunder 'og' ordrer 'tabeller.
Nøgleovervejelser:
* sammenføjningstype: Vælg den relevante sammenføjningstype baseret på de data, du vil hente.
* Deltag i tilstand: Sørg for, at din sammenføjningstilstand nøjagtigt afspejler forholdet mellem tabellerne.
* ydelse: Komplekse sammenføjninger kan påvirke forespørgselspræstation, så optimer dem for effektivitet.
Kortfattet:
Klausulen "DOING" er en grundlæggende del af SQL, der giver dig mulighed for at kombinere og analysere data fra flere tabeller. At forstå dets forskellige typer og syntaks er afgørende for at skrive effektive og effektive SQL -forespørgsler.