熱線電話:13121318867

登錄
2023-06-14 閱讀量: 819
CDA數據分析 L1模擬題 SQL列別名不能用于( )什么子句中?

題目:

在SQL語句中,設置別名可以增強代碼的可讀性,別名又分為表別名和列別名,其中列別名不能用于( )子句中。

A select

B where

C from

D join


答案: B


解析:

在SQL語句中,設置別名可以提高代碼的可讀性。別名分為表別名和列別名兩種。表別名用于給表起一個簡短的名稱,以便在查詢中引用該表時更加方便。

列別名用于給查詢結果中的列起一個簡短的名稱,以便在后續的操作中引用該列時更加方便。

select 子句選取需要的列, 所以經常加列別名,from和join子句中經常加表別名 (例如select * from table1 t1 left join table2 t2 on t1.ID=t2.ID

"where"子句用于對from子句的表進行字段值篩選,根據指定的條件來過濾結果,應該使用原始列名而不是列別名來指定條件。)


因此,正確答案是B where。



情況補充:

where子句中一般不出現別名, 如果硬要在where子句中出現別名,也可以實現

下面的where子句就出現了表別名,并且執行不報錯:

SELECT 員工編號 AS alias1, 姓名 AS alias2 FROM employees e1 WHERE e1.員工編號 = 1;

如下圖所示:

image.png




from join 加了子查詢表, 后面就可以有列別名 ,表別名, 不知道出題人是否這樣想的, 如果不是這樣, 那么from 不能出現列別名 同理join也不能出現


補充說明:

where在這種特殊情況下也能使用列別名:

外層查詢可以在 WHERE 子句中使用內層查詢(執行順序先于外層查詢)中生成的列別名

#例如下面的語句

#示例
SELECT *
FROM (
    SELECT column1 AS alias1, column2 AS alias2
    FROM table1
) AS subquery
WHERE alias1 = 'some_value';


總結
對于考試, 先按照考題解析的答案來記憶,實際工作遇到特殊問題,自己再具體問題具體處理


所以建議把這個題目修改為:其中列別名多用于( )子句中。 這樣答案選A select ,沒有爭議

0.0000
0
關注作者
收藏
評論(0)

發表評論

暫無數據
推薦帖子
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码