1、内连接
    2、外连接
    3、全连交叉查询

    1. 连接查询:根据两个或多个表之间的关系,从这些表中查询数据
    2. 目的:实现多表查询
    3. 分类:内连接、外连接、全连接、交叉连接
    4. 内连接:inner join
    5. 使用比较运算符 = < > >= <= <> 进行表间的比较,查询与条件相匹配的数据
    6. 其中利用等号进行比较的成为等值连接
    7. 内连接又分为显示连接和隐式连接
    8. 显示连接:inner join
    9. 隐式连接:=
    10. --显示连接
    11. select userid,username,age,u.deptid,deptname
    12. from userinfos u
    13. inner join deptinfos d on d.deptid=u.deptid
    14. where age>25
    15. --隐式连接
    16. select userid,username,age,u.deptid,deptname
    17. from userinfos u,deptinfos d
    18. where age>25 and d.deptid=u.deptid
    1. 外连接
    2. 外连接的分类:左外连接、右外连接、全外连接 简称:左连接、右连接、全连接
    3. --左连接
    4. select * from userinfos u --左表
    5. left join deptinfos d --右表
    6. on u.deptid =d.deptid
    7. --结果:显示左表的所有行,右表行数与左表相同,没有匹配上的显示为null
    8. --右连接
    9. select * from userinfos u --左表
    10. right join deptinfos d --右表
    11. on u.deptid =d.deptid
    12. --结果:显示右表的所有行,左表行数与右表相同,没有匹配上的显示为null
    1. --全连接
    2. select * from userinfos u --左表
    3. full join deptinfos d --右表
    4. on u.deptid =d.deptid
    5. --结果:左表和右表所有的数据都会显示出来,
    6. --如果在另一个表中匹配不上就显示null,左右都有可能出现null
    7. --交叉连接 笛卡尔积
    8. select * from userinfos u --左表
    9. cross join deptinfos d --右表
    10. --不能带on
    11. select * from userinfos u --左表
    12. cross join deptinfos d --右表
    13. where u.deptid=d.deptid
    14. --带条件则等价于inner join