20.在SQL語句中每種語法都有其位置規范,放錯位置是會導致錯誤的,SQL中子查詢可以出現在以下(?。┳泳渲?。
A.group by
B.order by
C.having
D.limit
一級教材答案與解析:
答案:C。解析:子查詢可以出現在select、where、having、from、join子句中,所以選C。
備注:
有小伙伴說order by子句也可以出現子查詢,我查了一下 確實可以
對于考試, 先按照考題解析的答案來記憶,實際工作遇到特殊問題,自己再具體問題具體處理
#關于ORDER BY子句可以使用子查詢作為排序條件
#建表語句:
CREATE TABLE employees (
員工編號 INT,
姓名 VARCHAR(50),
性別 VARCHAR(10),
工作時間 INT
);
CREATE TABLE salary (
員工編號 INT,
收入 INT,
支出 INT
);
#插入示例數據語句:
INSERT INTO employees (員工編號, 姓名, 性別, 工作時間)
VALUES
(1, '張三', '男', 2),
(2, '李四', '女', 3),
(3, '王五', '男', 5);
INSERT INTO salary (員工編號, 收入, 支出)
VALUES
(1, 5000, 2000),
(2, 6000, 2500),
(3, 7000, 3000);
#查詢語句:
SELECT 姓名,員工編號, 性別, 工作時間
FROM employees
ORDER BY (SELECT 收入-支出
FROM salary
WHERE salary.員工編號=employees.員工編號) DESC;
#牽涉兩個表時可以執行出來
SELECT 姓名,員工編號, 性別, 工作時間,收入-支出
FROM employees
ORDER BY (SELECT 收入-支出
FROM salary
WHERE salary.員工編號=employees.員工編號) DESC;
#單個表時會報錯
SELECT 員工編號,收入-支出
FROM salary
ORDER BY (SELECT 收入-支出
FROM salary
)DESC ;








暫無數據