MySQL多表查询语句

MySQL多表查询语句

1.内连接查询

1.隐式内连接:使用where条件消除无用数据
	例子:
		--查询所有员工信息和对应的部门信息
		SELECT * FROM emp,dept WHERE emp.dept_id=dept.id;
	--查询员工表的姓名,性别,部门表的名称
		SELECT 
			t1.name,   -- 员工表姓名
			t1.gender, -- 员工表性别 
			t2.name   -- 部门表名称
		FROM 
			emp t1,
			dept t2 
		WHERE 
			t1.dept_id=t2.id;
2.显示内连接
	语法:select 字段列表 from 表名1 [inner] join 表名2 on 条件
	例子:
SELECT * FROM emp INNER JOIN dept ON emp.dept_id=dept.id;
		SELECT * FROM emp JOIN dept ON emp.dept_id=dept.id;

2.外连接查询:

1.左外连接:
	语法:select 字段列表 from 表1 left [outer] join 表2 on 条件;
	查询的是左表所有数据以及其交集部分
	例子:
SELECT t1.*,t2.name FROM emp t1 LEFT JOIN dept t2 ON t1.dept_id = t2.id;
2. 右外连接:
	语法:select 字段列表 from 表1 right [outer] join 表2 on 条件;
	查询的是右表所有数据以及其交集部分
	例子:
SELECT t1.*,t2.name FROM dept t2 RIGHT JOIN emp t1 ON t1.dept_id = t2.id;

おすすめ

転載: blog.csdn.net/sunzheng176/article/details/117394375