# 例子1【隐式内连接】:查询所有的员工及其部门信息
SELECT e.*,d.* FROM dept d,emp e WHERE e.dept_id = d.id; #不推荐 -
# 例子2【显示内连接】:查询所有的员工及其部门信息
SELECT * FROM emp e JOIN dept d ON e.dept_id = d.id;
# 例子3【左外连接】:查询所有的员工及其部门信息,没有部门的员工也要查询出来
SELECT * FROM emp e LEFT JOIN dept d ON e.dept_id = d.id;
# 例子4【右外连接】:查询所有的员工及其部门信息,没有部门的员工也要查询出来
SELECT * FROM dept d RIGHT JOIN emp e ON e.dept_id = d.id;
# 例子5【左外连接】:查询所有的部门及其该部门下的所有员工信息,没有员工的部门也要查询出来
SELECT * FROM dept d LEFT JOIN emp e ON e.dept_id = d.id;
# 例子6【右外连接】:查询所有的部门及其该部门下的所有员工信息,没有员工的部门也要查询出来
SELECT * FROM emp e RIGHT JOIN dept d ON e.dept_id = d.id;
# 例子7【自连接】:查询一级菜单及其所包含的二级菜单,没有关联的就不查询 - 特殊的内连接
SELECT p1.*,p2.* FROM product p1 JOIN product p2 on p1.parent_id = p2.id;
SELECT p1.*,p2.* FROM product p1 JOIN product p2 on p2.parent_id = p1.id;
#总结。有parent_id = parent_id不为null 就是二级菜单
#没有parent_id = parent_id为null 就是一级菜单
#只要出现parent_id,就是二级菜单