时间:2021-07-01 10:21:17 帮助过:2人阅读
----------------------------------id name      dept_id   salary0001 wangda  101       15000002 wanger  103       30000003 wangsan 108       40000004 wangsi  109       20000005 wangwu  101       60000006 wangliu 102       70000007 wangqi  [NULL]    4000----------------------------------dept表:----------------------------------dept_id dept_name101 caiwu102 zhenggong103 wuzi108 shangwu109 renshi110[NULL]----------------------------------salary_grade表:----------------------------------salary_grade lowest_sal highest_salA            0          999B            1000       1999C            2000       2999D            3000       4999E            5000       6999F            7000       9999----------------------------------SELECT p.name, p.dept_id, d.dept_nameFROM person p, dept dWHERE p.dept_id = d.dept_id;name dept_id dept_namewangda 101 caiwuwangwu 101 caiwuwangliu 102 zhenggongwanger 103 wuziwangsan 108 shangwuwangsi 109 renshiSELECT p.`name`, p.dept_id, d.dept_name, p.salary, s.salary_gradeFROM person p, dept d, salary_grade sWHERE p.dept_id = d.dept_idAND p.salary BETWEEN s.lowest_salAND s.highest_sal;name dept_id dept_name salary salary_gradewangda 101 caiwu 1500 Bwangsi 109 renshi 2000 Cwanger 103 wuzi 3000 Dwangsan 108 shangwu 4000 Dwangwu 101 caiwu 6000 Ewangliu 102 zhenggong 7000 FSELECT p. NAME, d.dept_nameFROM person pLEFT JOIN dept d ON p.dept_id = d.dept_id;NAME dept_namewanger wuziwangsan shangwuwangsi renshiwangwu caiwuwangliu zhenggongwangqi [NULL]SELECT p. NAME, d.dept_nameFROM person pRIGHT JOIN dept d ON p.dept_id = d.dept_id;NAME dept_id dept_namewangda 101 caiwuwangwu 101 caiwuwangliu 102 zhenggongwanger 103 wuziwangsan 108 shangwuwangsi 109 renshi[NULL]110[NULL]SELECT*FROM person pLEFT JOIN dept d ON p.dept_id = d.dept_idUNION SELECT* FROM person p RIGHT JOIN dept d ON p.dept_id = d.dept_id;id name dept_id salary dept_id1 dept_name0001 wangda 101 1500   101 caiwu0002 wanger 103 3000   103 wuzi0003 wangsan 108 4000  108 shangwu0004 wangsi 109 2000   109 renshi0005 wangwu 101 6000   101 caiwu0006 wangliu 102 7000  102 zhenggong0007 wangqi [NULL]4000[NULL][NULL][NULL][NULL][NULL][NULL]110[NULL]SELECT*FROM personNATURAL JOIN dept;dept_id id name salary dept_name1010001 wangda 1500 caiwu1010005 wangwu 6000 caiwu1020006 wangliu 7000 zhenggong1030002 wanger 3000 wuzi1080003 wangsan 4000 shangwu1090004 wangsi 2000 renshiSELECT*FROM personJOIN dept USING (dept_id);dept_id id name salary dept_name1010001 wangda 1500 caiwu1010005 wangwu 6000 caiwu1020006 wangliu 7000 zhenggong1030002 wanger 3000 wuzi1080003 wangsan 4000 shangwu1090004 wangsi 2000 renshiid name dept_id salary manager_id0001 wangda 101 1500   00050002 wanger 103 3000   00060003 wangsan 108 4000  00050004 wangsi 109 2000   00060005 wangwu 101 6000   00070006 wangliu 102 7000  00070007 wangqi [NULL]9000[NULL]SELECT e.id employee_id, e. NAME employee, m.id manager_id, m.`name` managerFROM person e, person mWHERE e.manager_id = m.idAND lower(e. NAME)=‘wangsi‘;employee_id employee manager_id manager0004 wangsi 0006 wangliumysql多表查询
标签: