SQL Table Alias

Sql Table Alias



SQL er et ekstremt kraftfuldt værktøj til at interagere og administrere de relationelle databaser. En fordel ved SQL-forespørgsler er, at de følger en bestemt syntaks og er nemme at portere uanset databasemotoren.

SQL-sætninger kan variere fra simple sætninger til massive og komplekse multi-purpose forespørgsler. Når man beskæftiger sig med flere og komplekse SQL-forespørgsler, kan det blive svært at holde styr på hvilken tabel, især dem, der deler lignende navne, men fra forskellige skemaer osv.

Det er her, bordaliasserne kommer i spil. Tabelaliasser i SQL er et enestående værktøj, der giver os mulighed for at angive alternative navne for en given tabel, hvilket gør det nemmere at identificere i en forespørgsel.
I denne tutorial vil vi lede dig gennem alt, hvad du behøver at vide, når du beskæftiger dig med SQL-tabelaliasser.







SQL Table Alias

I SQL refererer et tabelalias til et midlertidigt navn, der er tildelt en given tabel eller tabelkolonne i løbet af SQL-forespørgslens levetid.



Hovedrollen for et tabelalias er at give os mulighed for at referere til tabellerne ved hjælp af et kortere og mere mindeværdigt navn, som kan betyde meget i komplekse forespørgsler, der involverer flere tabeller.



I SQL kan vi definere et tabelalias ved hjælp af AS-nøgleordet som vist i følgende eksempelsyntaks:





VÆLG kolonne1, kolonne2, ...
FRA tabelnavn AS aliasnavn
WHERE tilstand;

I dette tilfælde bruger vi søgeordet AS efterfulgt af et alternativt navn, som vi ønsker at give måltabellen.

Brug af SQL Table Alias

Der er flere eksempler på brug af tabelaliaser i SQL, nogle af dem inkluderer følgende:



  • Læsbarhed – Aliaser gør SQL-forespørgsler mere læselige for mennesker ved at give kortere og mere meningsfulde navne til tabeller og kolonner.
  • Self-Joins – Når du udfører en join på et bord mod sig selv, har du brug for en selv-join for at skelne mellem dem.
  • Underforespørgsler – Vi bruger også tabelaliasserne, når vi arbejder med underforespørgsler til at skelne mellem tabeller i hovedforespørgslen og dem i den indlejrede forespørgsel.

Eksempler:

Lad os udforske de forskellige eksempler og anvendelser af SQL-tabelkolonnen som vist i de næste afsnit i denne øvelse.

Eksempel 1: Grundlæggende brug

Antag, at vi har en database, der indeholder to tabeller. Den ene er tabellen 'medarbejdere', og den anden er tabellen 'afdeling'. Vi ønsker at hente en liste over medarbejdere i korrespondance med deres afdeling. Vi kan bruge tabelaliaset som vist i følgende eksempel:

VÆLG e.employee_name, d.afdelingsnavn
FRA medarbejdere AS e
JOIN afdelinger AS d ON e.department_id = d.department_id;

I dette tilfælde bruger vi tabelaliasserne til at tildele 'e' og 'd'-aliasserne til henholdsvis 'medarbejdere' og 'afdelinger'.

Dette kan igen gøre forespørgslen lettere at læse og mere tilgængelig, selvom den er begravet i en kompleks SQL-sætning.

Eksempel 2: Arbejde med Self-Join

Som vi nævnte, er tabelaliaser nyttige, når du skal udføre en selv-join. Lad os tage prøven af ​​Sakila-databasen. Antag, at vi vil finde de skuespillere, der optrådte i den samme film.

Vi kan bruge et tabelalias som vist i følgende eksempelforespørgsel:

VÆLG a1.actor_id AS actor1_id, a1.first_name AS actor1_first_name, a1.last_name AS actor1_last_name,
a2.actor_id AS actor2_id, a2.first_name AS actor2_first_name, a2.last_name AS actor2_last_name
FRA skuespiller AS a1
JOIN actor AS a2 ON a1.actor_id  a2.actor_id;

I dette eksempel bruger vi 'a1' og 'a2' tabelaliasserne for 'aktør'-tabellen til at skelne mellem to forekomster af den samme tabel.

BEMÆRK: For at sikre, at vi ikke matcher en skuespiller med sig selv, introducerer vi ON-klausulen og en betingelse for at tjekke for det samme skuespiller-id.

Dette skal udføre en selv-join på bordet og returnere de første 10 matchende rækker som vist i følgende eksempeloutput:

Eksempel 3: Brug af tabelaliaser med SQL-underforespørgsel

Lad os endelig se på et eksempel på brug af tabelaliasserne i en SQL-underforespørgsel.

Antag, at vi ønsker at finde de skuespillere, der optrådte i samme film som en bestemt skuespiller. Vi kan bruge en underforespørgsel sammen med tabelaliaser for at opnå dette som følger:

VÆLG DISTINCT a.actor_id, a.first_name, a.last_name
FRA skuespiller AS en
JOIN film_actor AS fa1 ON a.actor_id = fa1.actor_id
JOIN film_actor AS fa2 ON fa1.film_id = fa2.film_id
WHERE a.actor_id <> 1 LIMIT 10;

Dette skulle returnere alle de skuespillere, der optrådte i samme film som den angivne skuespiller. Du vil bemærke en omfattende brug af tabelaliasser for maksimal og effektiv forespørgselsbrug.

Konklusion

I denne tutorial lærte vi alt, hvad der er at vide om tabelaliasser i SQL. Du kan også tjekke vores vejledning om kolonnealiaser i MySQL for mere detaljerede oplysninger.