MySQL Alias

sammanfattning: i den här handledningen lär du dig hur du använder MySQL alias för att förbättra läsbarheten för frågorna.

MySQL stöder två typer av alias som kallas kolumnalias och tabellalias.

MySQL alias för kolumner

ibland är kolumnnamn så Tekniska att det gör frågans utdata mycket svårt att förstå. Om du vill ge en kolumn ett beskrivande namn kan du använda ett kolumnalias.

följande uttalande illustrerar hur man använder kolumnaliaset:

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

för att tilldela ett alias till en kolumn använder du nyckelordet AS följt av aliaset. Om aliaset innehåller mellanslag måste du citera det som följande:

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

eftersom nyckelordet AS är valfritt kan du utelämna det i uttalandet. Observera att du också kan ge ett uttryck ett alias.

Låt oss titta på tabellen employees i exempeldatabasen.

 anställda tabell

följande fråga väljer förnamn och efternamn på anställda. Den använder funktionen CONCAT_WS() för att sammanfoga förnamn och efternamn till fullständigt namn.

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

prova det

MySQL-fråga utan Aliasexempel

kolumnrubriken är ganska svår att läsa. För att lösa detta kan du tilldela kolumnrubriken för utmatningen ett kolumnalias som visas i följande fråga:

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

prova det

MySQL-Kolumnaliasexempel

i MySQL kan du använda kolumnalias i klausulerna ORDER BY, GROUP BY och HAVINGför att hänvisa till kolumnen.

följande fråga använder kolumnaliaset i ORDER BY – satsen för att sortera medarbetarens fullständiga namn alfabetiskt:

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

prova det

MySQL Alias med ordning efter exempel

följande uttalande väljer orderna vars totala belopp är större än 60000. Den använder kolumnalias i GROUP BY och HAVING klausuler.

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

prova det

MySQL-Alias med Expressionsexempel

Observera att du inte kan använda ett kolumnalias i WHERE – klausulen. Anledningen är att när MySQL utvärderar WHERE – klausulen utvärderas inte värdena för kolumner som anges i SELECT – klausulen ännu.

MySQL-alias för tabeller

du kan använda ett alias för att ge en tabell ett annat namn. Du tilldelar en tabell ett alias genom att använda nyckelordet AS som följande syntax:

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

alias för en tabell kallas tabellalias. Liksom kolumnaliaset är nyckelordet AS valfritt så att du kan utelämna det.

denna fråga visar hur man tilldelar employees tabellalias som e:

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

när en tabell har tilldelats ett alias kan du referera till tabellkolumnerna med följande syntax:

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

till exempel:

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

tabellalias används ofta i uttalandet som innehåller INNER JOIN, LEFT JOIN, RIGHT JOIN klausuler och i underfrågor.

Låt oss titta på tabellerna customers och orders :

kunder och Ordertabeller

båda tabellerna har samma kolumnnamn:customerNumber.Utan att använda tabellaliaset för att kvalificera kolumnen customerNumber får du ett felmeddelande som:

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

för att undvika detta fel använder du tabellalias för att kvalificera kolumnen customerNumber :

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

prova det

MySQL-Tabellaliasexempel

frågan ovan väljer kundnamn och antal beställningar från tabellerna customers och orders. Den använder c som ett tabellalias för tabellen customers och o som ett tabellalias för tabellen orders. Kolumnerna i tabellerna customers och orders hänvisas till via tabellalias.

om du inte använder aliaset i frågan ovan måste du använda tabellnamnet för att hänvisa till dess kolumner, vilket gör frågan lång och mindre läsbar som följande:

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

prova det

i den här handledningen har du lärt dig hur du använder MySQL-Alias inklusive kolumn-och tabellalias.

  • var denna handledning till hjälp?
  • Janej



+