zoukankan      html  css  js  c++  java
  • SQL进阶语法的多表操作

    AS别名

    多张表联合操作,如果表多,字段名长,不方便阅读。这里我们可以使用  as  关键字来对字段名设置别名。

    as也可以省略,看个人喜好,在这里我还是支持把 as 写上,这样我们在面对复杂的SQL语句时有很好的可读性。

    接下来的多表操作将都使用别名,不难,一看便懂。

     下面是两张表,

    表的链接

    1、内连接(又称显示连接)

     inner  join

    如果表中至少有一个匹配,则返回结果

    查询列出购买了商品的用户,以及他们买了什么

    2、左连接

    left  join

    即使右表中没有匹配,也从左表返回所有的结果

     

    查询列出所有用户,即使他们没有买东西

     3、右连接

    right  join

    即使左表中没有匹配,也从右表返回所有的结果

    查询列出所有商品,即使该商品没有被用户购买

    4、全连接

    full  join   

    注:mysql 不支持full  join,所以我们使用mysql支持的方式来实现full  join的功能。也就是join + union(不懂union先看下面的union讲解)

    join + union

    其实就是内连接 + 左连接 + 右连接

    查询列出哪些用户购买了哪些商品,哪些用户没有购买,哪些商品没被用户购买

    附:union的功能

    union:并和两个或多个select语句的结果集合,自动去重

    union all:与union相同,但是允许重复

    注意事项:使用union,必须保证所有select后面查询的字段名一致。数量,类型,顺序都必须是一样的。

    5、制作备份文件

    select  into

    注:mysql也不支持select  into这种方法来创建备份表,我们可以用另一种方法 ↓

    create  table  备份表名  (select  字段名  from  表名)

    创建了userinfo表的备份表,内容一致

  • 相关阅读:
    iOS开发——C篇&数组与指针
    iOS开发——C篇&动态内存分配
    助教工作总结
    助教周报(第二轮)— 王茹瑶,林泽龙,范青青
    助教周报(第一轮)---王茹瑶
    UML总结--熊熊的奇幻旅程
    今天是一个睡前的小故事(是谁要给的大饼)
    我与oracle的爱恨情仇(第一章)
    第三次结对作业(王茹瑶+柯智腾)
    第二次结对作业(王茹瑶+柯智腾)
  • 原文地址:https://www.cnblogs.com/eyesCentre/p/10698596.html
Copyright © 2011-2022 走看看