数据库连接查询

数据库连接查询主要分为:自连接查询,内连接和外连接查询。

1.自连接查询

对同一个表进行查询,语法,定义了一个表的两个别名,操作的还是一个表

select * from table t1,table t2 where t1.sales = t2.sales

2.内连接

内连接查询实际上是一种任意条件的查询。使用内连接时,如果两个表的相关字段满足连接条件,就从这两个表中提取数据并组合成新的记录.语法,

SELECT *
FROM学生表INNER JOIN选课表ON学生表.学号=选课表.学号

这种情况,查询等同于

select *
from 学生表,选课表 where 学生表.学号 = 选课表.学号

3.外连接

内连接的结果是查询满足条件的结果。但是有时候需要查询部门满足条件的结果,于是有了外连接,比如

我们想知道所有学生的选课情况,包括已经选课的和还没有选课的学生;外连接有三种方式,左外连接,右外连接,全外连接

1>左外连接(Left join)

left join 也可以写成left outer join,左外连接查询中左端表中的所有元组的信息都得到了保留。例如:要查询所有学生的选课情况,包括已经选课的和还没有选课的学生,查询语句为

SELECT学生表.学号,姓名,班级,课程号,成绩
FROM学生表LEFT OUTER JOIN选课表ON学生表.学号=选课表.学号

2>右外连接(right join)

right join 也写成 right outer join,保留右边的元组信息

3>全外连接(full join)

全外连接查询的特点是左、右两端表中的元组都输出,如果没能找到匹配的元组,就使用NULL来代替。

4.union,union all

union 指令表示将多个表合并显示,列相同的值合并显示,并且过滤重复值,union all则显示所有,不过滤重复值

猜你喜欢

转载自my.oschina.net/u/2596536/blog/1620889