子查询与关联子查询丨的一些看法
返回购买价格为 10 美元或以上产品的顾客列表
https://www.nowcoder.com/practice/827eb2a210c64ccdb8ec28fe4c50c246?tpId=298&tags=&title=&difficulty=0&judgeStatus=0&rp=0&sourceUrl=%2Fexam%2Foj%3Ftab%3DSQL%25E7%25AF%2587%26topicId%3D298
要运用有关联的关键字段取筛选
其次,子查询只能返回一个字段,不能返回多列,除非是返回的表在from后面才能多列成表
,否则像下面这样就是错的↓
改成这样才是对的↓
不是放在from后面返回表的多表连接的子查询,
要像这样每次返回一列才是对的
select
cust_email
from Customers
where cust_id
in (
select
cust_id
from Orders
where order_num
in(
select order_num
from OrderItems where prod_id ='BR01'))
关联子查询: 筛选有一个东西,里面有关系相等,如筛选和员工部门号相等的经理的员工号
SELECT
b.emp_no,
(SELECT
emp_no FROM dept_manager a
WHERE a.dept_no=b.dept_no)manager
FROM dept_emp b
WHERE b.emp_no not in(
SELECT emp_no
FROM dept_manager)
子查询就只有两种用法,这里就都用了
·
分别是①where+in+一列返回信息
②关联子查询,一种是子查询作为select中的计算字段,这种的话一般用于在什么相等的情况下选出数据
正好这里要求员工和经理的部门编号相同,所以正好用关联子查询
可以看看题,仔细思考逻辑