热线电话:13121318867

登录
2023-10-14 阅读量: 2340
CDA学习之SQL中子查询可以出现在以下( )什么子句中?


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 ;


0.0000
0
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子