一、子查询子查询分类与语法定义:嵌入在主查询中的 SELECT 语句,用于提供查询条件或数据源。分类:单行子查询:返回 1 行 1 列,主查询用单行比较运算符(=、、 等)。多行子查询:返回多行 1 列,主查询用多行比较运算符(IN、ANY、ALL)。多列子查询:返回多行多列,主查询条件需匹配多列。位置:可出现在 WHERE、HAVING、FROM、SELECT 子句中。子查询示例WHERE 子句(单行):查询与 SCOTT 同职位的员工:sqlSELECT ename, job FROM emp WHERE job = (SELECT job FROM emp WHERE ename = 'SCOTT');WHERE 子句(多行):查询部门中有 SALESMAN 的其他职位员工:sqlSELECT ename, job FROM emp WHERE deptno IN (SELECT deptno FROM emp WHERE job = 'SALESMAN') AND job != 'SALESMAN';HAVING 子句:查询最低薪资高于 30 号部门最低薪资的部门:
Java入门第157课——SQL 高级查询
一、子查询子查询分类与语法定义:嵌入在主查询中的 SELECT 语句,用于提供查询条件或数据源。分类:单行子查询:返回 1 行 1 列,主查询用单行比较运算符(=、、 等)。多行子查询:返回多行 1 列,主查询用多行比较运算符(IN、ANY、ALL)。多列子查询:返回多行多列,主查询条件需匹配多列。位置:可出现在 WHERE、HAVING、FROM、SELECT 子句中。子查询示例WHERE 子句(单行):查询与 SCOTT 同职位的员工:sqlSELECT ename, job FROM emp WHERE job = (SELECT job FROM emp WHERE ename = 'SCOTT');WHERE 子句(多行):查询部门中有 SALESMAN 的其他职位员工:sqlSELECT ename, job FROM emp WHERE deptno IN (SELECT deptno FROM emp WHERE job = 'SALESMAN') AND job != 'SALESMAN';HAVING 子句:查询最低薪资高于 30 号部门最低薪资的部门: