chapter08_联接与多张表的操作

  • AS 既可以用作列的别名,也可以用作表的别名

    示例

      SELECT profession AS mc_prof FROM my_contacts AS mc GROUP BY mc_prof ORDER BY mc_prof;
    
  • CROSS JOIN 交叉联接

    (1) 相当于对两张表做笛卡尔积

    (2) CROSS JOIN 一般不作实际使用,主要用途是检测的运行速度

    (3) 交叉连接属于内连接,其他的内连接方式基本上是交叉连接的结果去掉某些行

    (4) 示例

      SELECT t.toys, b.boy FROM toys AS t CROSS JOIN boys AS b;
    
  • INNER JOIN 内联接

    (1) 在交叉连接的基础上添加了某些条件

    (2) 等值连接:联接的条件使用 = 连接

    示例

      SELECT boy.boys, toy.toys FROM boys INNER JOIN toys ON boys.toy_id = toys.toy_id;
    

    (3) 不等值联接: 属于内联接 且 不属于 等值联接

    示例

      SELECT boy.boys, toy.toys FROM boys INNER JOIN toys ON boys.toy_id <> toys.toy_id;
    

    (4) 自然联接:两个关系在共同属性上的等值连接。即联接条件是两张表的相同名称的列上的值相等

    示例

             boys                             toys
       ----------------                  ----------------
      boy_id  | toy_id                    toy_id | toy
      ----------------                   ----------------
              |                                  |
      ----------------                   ----------------
    
      SELECT boy.boys, toy.toys FROM boys NATURAL JOIN toys;
    

    等价于

      SELECT boy.boys, toy.toys FROM boys INNER JOIN toys ON boys.toy_id = toys.toy_id;
    

    (5) 区分等值连接和不等值的连接的原因是内部查询方式?(个人理解)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值