开发者

what does this part of my sql SELECT statement mean?

开发者 https://www.devze.com 2023-04-05 23:25 出处:网络
SELECTsh.id AS sh_identifier my column name is id, what is the sh. bit before it called and how do i use this correctly? than开发者_如何学JAVAks.Its a table or view name or table alias or in some ca
SELECT  sh.id AS sh_identifier

my column name is id, what is the sh. bit before it called and how do i use this correctly? than开发者_如何学JAVAks.


Its a table or view name or table alias or in some cases an inline view alias

Table Name

SELECT sh.id as sh_identifier
FROM sh

Table alias

SELECT sh.id as sh_identifier
FROM mytable sh

Inline view

SELECT sh.id as sh_identifier
FROM (SELECT * FROM mytable) sh


You usually use it to define the table names in more advanced queries.

SELECT  mytable.id AS sh_identifier FROM mytable


sh. is the name of the table, or an alias (SELECT * FROM a_long_table_name AS sh) of one.


sh is the table name

sh.id is the column id from the table sh

See the documentation for more information


sh specifies the name of the table where the corresponding field exists.

In statements where just one table is used it is not necessary, but it is required to avoid ambiguity when more than one table is used and any two tables have a field with the same name.


It's aliasing the sh.id field as sh_identifier. In this case, the person who wrote the query just tried to give a more meaningful name to the id column of the sh table.


As this is only part of the full query, the bit that answers your question is missing.

the sh. will refer to a Table - or an alias of one - which appears in the FROM clause.

If you're only selecting from one table, it's not mandatory.

0

精彩评论

暂无评论...
验证码 换一张
取 消