exists()判断结果是否有没有。只返回1/0。但是大部分都可以使用IN代替。
/*语法:exists(完整的查询语句)结果:1或0*/SELECT EXISTS(SELECT employee_id FROM employees WHERE salary=300000);-- 案例1:查询有员工的部门名-- inSELECT department_nameFROM departments dWHERE d.`department_id` IN(SELECT department_idFROM employees)-- existsSELECT department_nameFROM departments dWHERE EXISTS(SELECT *FROM employees eWHERE d.`department_id`=e.`department_id`);-- 案例2:查询没有女朋友的男神信息-- inSELECT bo.*FROM boys boWHERE bo.id NOT IN(SELECT boyfriend_idFROM beauty)-- existsSELECT bo.*FROM boys boWHERE NOT EXISTS(SELECT boyfriend_idFROM beauty bWHERE bo.`id`=b.`boyfriend_id`);
