AI智能
改变未来

10.2where后的 标量(一行一列)子查询使用.——MySQL

-- where或having后面/*1.标量子查询(单行子查询)2.列子查询(多行子查询)3.行子查询(多列多行)特点:①子查询一般放在小括号内②子查询一般放在条件的右侧③标量子查询,一般搭配着单行操作符使用(>、<、>=、<=、<>)④一般搭配着多行操作符使用(in、ang/some、all)⑤子查询的执行优先于主查询的执行*/-- 1.标量子查询-- 案例1:谁的工资比Abel高SELECT *FROM employeesWHERE salary>(select salaryFROM employeesWHERE last_name=\"Abel\");/*案例2:返回job_id与141号员工相同,salary比143员工多的员工 的last_name job_id 和 salary①查询141号员工的job_id②查询141号员工的工资*/SELECT last_name,job_id,salaryFROM employeesWHERE job_id=(SELECT job_idFROM employeesWHERE employee_id=141)AND salary>(SELECT salaryFROM employeesWHERE employee_id=143);-- 案例3:返回公司工资最少的员工的last_name,job_id和salarySELECT last_name,job_id,salaryFROM employeesWHERE salary=(SELECT MIN(salary)FROM employees);-- 案例4:查询最低工资大于50号部门最低工资的部门id和其最低工资-- 注意:其中用了group by 因为要查询的是每个部门的最低工资,所以要按照部门id分类SELECT department_id,MIN(salary)FROM employeesGROUP BY department_idHAVING MIN(salary)>(SELECT MIN(salary)FROM employeesWHERE department_id=50);
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 10.2where后的 标量(一行一列)子查询使用.——MySQL