Myskl Alias

Resume: i denne vejledning lærer du, hvordan du bruger Myskl alias til at forbedre læsbarheden af forespørgslerne.

understøtter to slags aliaser, der er kendt som kolonnealias og tabelalias.

alias for kolonner

nogle gange er kolonnenavne så Tekniske, at forespørgslens output er meget vanskeligt at forstå. Hvis du vil give en kolonne et beskrivende navn, kan du bruge et kolonnealias.

følgende erklæring illustrerer, hvordan man bruger kolonnealiaset:

Code language: SQL (Structured Query Language) (sql)

hvis du vil tildele et alias til en kolonne, skal du bruge nøgleordet AS efterfulgt af aliaset. Hvis aliaset indeholder mellemrum, skal du citere det som følgende:

Code language: SQL (Structured Query Language) (sql)

da nøgleordet AS er valgfrit, kan du udelade det i erklæringen. Bemærk, at du også kan give et udtryk et alias.

lad os se på employees tabellen i eksempeldatabasen.

Medarbejdertabel

følgende forespørgsel vælger fornavne og efternavne på medarbejdere. Det bruger funktionen CONCAT_WS() til at sammenkæde fornavn og efternavn til fuldt navn.

Code language: SQL (Structured Query Language) (sql)

prøv det

Myskl forespørgsel uden Alias eksempel

kolonneoverskriften er ret vanskelig at læse. For at løse dette kan du tildele kolonneoverskriften på output et kolonnealias som vist i følgende forespørgsel:

Code language: SQL (Structured Query Language) (sql)

prøv det

 eksempel

i klausulerne ORDER BY, GROUP BYog HAVING kan du bruge kolonnealiaset til at henvise til kolonnen.

følgende forespørgsel bruger kolonnealiaset i ORDER BY – klausulen til at sortere medarbejderens fulde navne alfabetisk:

Code language: SQL (Structured Query Language) (sql)

prøv det

Myskl Alias med ordre ved eksempel

følgende erklæring vælger de ordrer, hvis samlede beløb er større end 60000. Det bruger kolonnealiaser i GROUP BY og HAVING klausuler.

Code language: SQL (Structured Query Language) (sql)

prøv det

Myskl Alias med Ekspressionseksempel

Bemærk, at du ikke kan bruge et kolonnealias i WHERE klausulen. Årsagen er, at når vi evaluerer WHERE – klausulen, er værdierne for kolonner, der er angivet i SELECT – klausulen, endnu ikke evalueret.

alias for tabeller

du kan bruge et alias til at give en tabel et andet navn. Du tildeler en tabel et alias ved at bruge nøgleordet AS som følgende syntaks:

Code language: SQL (Structured Query Language) (sql)

aliaset for en tabel kaldes tabelalias. Ligesom kolonnealiaset er nøgleordet AS valgfrit, så du kan udelade det.

denne forespørgsel viser, hvordan du tildeler employees tabelaliaset som e:

Code language: SQL (Structured Query Language) (sql)

når en tabel er tildelt et alias, kan du henvise til tabelkolonnerne ved hjælp af følgende syntaks:

Code language: SQL (Structured Query Language) (sql)

for eksempel:

Code language: SQL (Structured Query Language) (sql)

tabelaliaserne bruges ofte i den erklæring, der indeholder INNER JOIN, LEFT JOIN, RIGHT JOIN klausuler og underforespørgsler.

lad os se på customers og orders tabellerne:

kunder og Ordretabeller

begge tabeller har samme kolonnenavn: customerNumber.Uden at bruge tabelaliaset til at kvalificere kolonnen customerNumber, får du en fejlmeddelelse som:

Code language: SQL (Structured Query Language) (sql)

for at undgå denne fejl skal du bruge tabelalias til at kvalificere kolonnen customerNumber :

Code language: SQL (Structured Query Language) (sql)

prøv det

Myskl Table Alias eksempel

forespørgslen ovenfor vælger kundenavn og antallet af ordrer fra tabellerne customers og orders. Det bruger c som et tabelalias for tabellen customers og o som et tabelalias for tabellen orders. Kolonnerne i tabellerne customers og orders henvises til via tabelaliaserne.

hvis du ikke bruger aliaset i forespørgslen ovenfor, skal du bruge tabelnavnet til at henvise til dets kolonner, hvilket gør forespørgslen lang og mindre læsbar som følgende:

Code language: SQL (Structured Query Language) (sql)

prøv det

i denne vejledning har du lært, hvordan du bruger aliaser, herunder kolonne-og tabelaliaser.

  • var denne tutorial nyttig?
  • Ja



+