1. 程式人生 > >mysql子查詢

mysql子查詢

body 所有 lar sele sel 多列 多行 相關子查詢 單列

子查詢分類

標量子查詢:查詢結果為單行單列

列子查詢:一列多行

行子查詢:多列單行

表子查詢:多行多列

子查詢支持規則

select 標量子查詢

  from 【join】表子查詢

  where【having】標量子查詢、行子查詢、列子查詢

  exists 表子查詢

例子

select * from user where department_id =(select department_id from user where id=3)

select * from user where department_id in (select department_id from department where department like ‘A%’)

any(子查詢),至少一個滿足就可以 all(子查詢)所有都滿足 一般any跟all可以用其他子查詢代替

select * from user where salary >any(select salary from user where id in (1,2,3))

select * from user where salary >all(select salary from user where id in (1,2,3))

相關子查詢

select exists (select user_id from user where department_id=3) 結果為0或是1

常用實例 select department_name from department d where exists(select * from u where u.department_id=d.department_id ) #查詢出有員工的部門名稱

mysql子查詢