SQL的连接查询
sql的连接查询有四种:
内连接
外连接
交叉连接
自然连接
内连接:
在某条件下,把一张表的每一条数据全取出来,与另外一张表的每一条数据进行匹配,符合条件则保留结果.
sql语句:
select * from 表1,表2 where 表1条件=表2条件
外连接:
以某张表为主表,取出该主表中的每一条数据,与另外一张表的每一条数据进行匹配,在某条件下,左表中的数据与右表中的数据匹配,符合条件保留正确结果,不符合条件结果依然保留,其他字段就为空null.
外连接分:1 左连接 和 2 右连接
左连接:
以左表为主表,与右表数据进行匹配,条件符合保留结果,条件不符合结果依然保留,其他字段为空null.
sql语句:
select * from 左表 left join 右表 where 左表条件1 = 右表条件1
右连接:
以右表为主表,与左表数据进行匹配,条件符合保留数据,条件不符合结果依然保留,其他字段为空null.
sql语句:
select * from 右表 right join 左表 where 右表条件1 = 左表条件1
自然连接:
natural join,自然连接,就是自动匹配连接条件.
备注:
自然连接很没有用!!!实际开发中并不会用到所以了解就好了!!!
交叉连接:
也就是笛卡尔积,从一张表(1)中取出每一条数据,与另一张表(2)的每一条数据都进行匹配,不存在条件,都保留结果.从1表中取出中的每一条数据的字段都与2表中的每一条数据的字段形成一条数据.
sql语句
:
*号表示查询所有字段
select * from biao1,biao2