2020-12-22

集合运算

1.1表的加法union

1、SELECT product_id, product_name

  FROM product

UNIONSELECT product_id, product_name

  FROM product2;

 UNION 等集合运算符通常都会除去重复的记录.

2、对于同一个表的两个不同的筛选结果集, 使用 UNION 对两个结果集取并集, 和把两个子查询的筛选条件用 OR 谓词连接, 会得到相同的结果, 但倘若要将两个不同的表中的结果合并在一起, 就不得不使用 UNION 了。而且, 即便是对于同一张表, 有时也会出于查询效率方面的因素来使用 UNION.

select * from product where sale_price>500 union select * from product 2 where sale_price>500 ;

3、union all 就可以保留重复行

1.2join连接

1、连结(JOIN)就是使用某种关联条件(一般是使用相等判断谓词"="), 将其他表中的列添加过来, 进行“添加列”的集合运算. 可以说,连结是 SQL 查询的核心操作, 掌握了连结, 能够从两张甚至多张表中获取列, 能够将过去使用关联子查询等过于复杂的查询简化为更加易读的形式, 以及进行一些更加复杂的查询.

2、内连接的基本语法:SELECT SP.shop_id

      ,SP.shop_name

      ,SP.product_id

      ,P.product_name

      ,P.product_type

      ,P.sale_price

      ,SP.quantity

  FROM shopproduct AS SP

INNER JOIN product AS P

    ON SP.product_id = P.product_id;

使用内连结需要注意的问题:

1、进行连结的时候需要在from子句中使用多张表

2、必须使用 ON 子句来指定连结条件.

3、SELECT 子句中的列最好按照 表名.列名 的格式来使用.

3.1外连结要点1:选取中表中全部信息

2、使用left、right来指定主表

(等写完作业之后再来好好补一下笔记)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 4.1 表的加减法 4.1.1 什么是集合运算 集合在数学领域表示“各种各样的事物的总和”, 在数据库领域表示记录...
    忘原_b2d5阅读 4,290评论 0 0
  • InnoDB:聚集索引,索引B+树中叶子结点的值存放的是数据的值。因此InnoDB建表必须有个主键,用主键建立索引...
    Cambrian寒武纪阅读 1,706评论 0 0
  • @[toc] 视图是什么 视图在数据库中的作用类似于窗户,用户可以通过这个窗口看到只对自己有用的数据。既保障了数据...
    夜雨流云阅读 4,596评论 0 2
  • 1.表的加减法 集合在数据库领域表示记录的集合.具体来说,表、视图和查询的执行结果都是记录的集合, 其中的元素为表...
    penta_ever阅读 3,517评论 0 0
  • 3.1 视图 我们先来看一个查询语句(仅做示例,未提供相关数据) SELECTstu_nameFROMview_s...
    忘原_b2d5阅读 3,207评论 0 0

友情链接更多精彩内容