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








暫無數(shù)據(jù)