Content deleted Content added
Cleanup formatting and reword some content |
hyperlink |
||
(27 intermediate revisions by 19 users not shown) | |||
Line 1:
{{Short description|Feature of SQL}}
{{refimprove|date=October 2013}}
An '''alias''' is a feature of [[SQL]] that is supported by most, if not all, [[RDBMS|relational database management systems (RDBMSs)]]. Aliases provide
In SQL, you can alias
The general syntax of an alias is <
{| class="wikitable" style="text-align:center; float:left; margin-left:5px"
Line 19 ⟶ 20:
| 35 || Marketing
|}
Using a table alias:
<
SELECT D.DepartmentName FROM Department AS D
</syntaxhighlight>
We can also write the same query like this (Note that the AS clause is omitted this time):
<
SELECT D.DepartmentName FROM Department D
</syntaxhighlight>
A column alias is similar:
<
SELECT d.DepartmentId AS Id, d.DepartmentName AS Name FROM Department d
</syntaxhighlight>
In the returned [[result set]]s, the data shown above would be returned, with the only exception being "DepartmentID" would show up as "Id", and "DepartmentName" would show up as "Name".
Line 42 ⟶ 43:
Also, if only one table is being selected and the query is not using [[Join (SQL)|table joins]], it is permissible to omit the table name or table alias from the column name in the SELECT statement. Example as follows:
<
SELECT DepartmentId AS Id, DepartmentName AS Name FROM Department d
</syntaxhighlight>
Some systems, such as Postgres<ref>[https://www.postgresql.org/docs/13/queries-table-expressions.html#QUERIES-FROM PostgreSQL: Documentation: 13: 7.2. Table Expressions]</ref> and Presto,<ref>https://prestodb.io/docs/0.248/sql/select.html SELECT — Presto 0.248 Documentation</ref> support specifying column aliases together with table aliases. E.g.
<syntaxhighlight lang="sql">
SELECT D.Id FROM Department AS D(Id)
</syntaxhighlight>
would produce the same result set as before. In this syntax it is permissible to omit aliases for some column names. In the example, an alias was provided for DepartmentId, but omitted for DepartmentName. Columns with unspecified aliases will be left unaliased. This syntax is often used with expressions that do not produce useful table and column names, such as VALUES<ref>https://prestodb.io/docs/0.248/sql/values.html#examples VALUES — Presto 0.248 Documentation</ref> and UNNEST.<ref>https://prestodb.io/docs/0.248/sql/select.html#unnest SELECT — Presto 0.248 Documentation</ref> As an example, one may conveniently test the above SQL statements without creating an actual Departments table by using expressions such as
<syntaxhighlight lang="sql">
WITH Department(DepartmentId, DepartmentName) AS (VALUES (1, 'HR'), (2, 'IT'))
SELECT DepartmentId AS Id, DepartmentName AS Name FROM Department d;
</syntaxhighlight>
==References==
{{Reflist}}
{{SQL}}
[[Category:SQL]]
[[Category:Articles with example SQL code]]
|