九、连接查询

什么是连接查询

  1. 只从一张表检索数据,称为单表查询
  2. 数据并不是存储在一张表中的,是同时存储在多张表中
  3. 表与表之间存在关系,在检索时需要将多张表联合起来取得数据
  4. 多表查询也叫连接查询或者叫跨表查询

按年代来分类:

  1. SQL92
  2. SQL99 【1999年】

按连接方式分为

  1. 内连接(inner join)
    • 等值连接
    • 非等值连接
    • 自连接
  2. 外连接
    • 左外连接
    • 右外连接
  3. 全连接
    //会产生两张表的条数之积,简称笛卡尔积
    select ename, dname from emp, dept;

    //92的写法,内连接的等值连接
    select 
        e.ename, d.dname 
    from emp e, dept d where e.deptno = d.deptno;

    //99的写法,内连接的等值连接
    select 
        e.ename, d.dname 
    from emp e 
    inner join dept d on e.deptno = d.deptno;
    //SQL99语法:内连接中的非等值连接
    SELECT 
        e.ename,  
        e.sal,
        s.GRADE
    FROM emp e
    JOIN salgrade s ON e.sal BETWEEN s.LOSAL AND s.HISAL;
    //内连接的自连接
    SELECT 
        e.ename,
        e1.ENAME boss
    FROM emp e
    JOIN emp e1 ON e.MGR = e1.EMPNO
    //外连接的左连接
    SELECT 
        d.dname,
        e.ENAME
    FROM dept d
    LEFT JOIN emp e ON e.DEPTNO = d.deptno
    //外连接的右连接
    SELECT
        e.ENAME,
        d.dname
    FROM emp e
    RIGHT JOIN dept d ON d.deptno = e.DEPTNO
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值