企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## SQL中的集合操作符IN、EXCEPT、INTERSECT和UNION的用法 ①IN——确定给定的值是否与子查询或列表中的值相匹配,选择与列表中的任意一个值匹配的行 ②EXCEPT,指在第一个集合中存在,但是不存在于第二个集合中的数据, ③INTERSECT,是指在两个集合中都存在的数据 ④UNION,操作符用于合并两个或多个SELECT语句的结果集,对于UNION操作符,请注意,UNION内部的 SELECT语句必须拥有相同数量的列。列也必须拥有相似的数据类型。 同时,每条 SELECT语句中的列的顺序必须相同。 ## 集合运算 **并集union、交集intersect、差集except** ## case语句 Case When Grade between 90 and 100 THEN '优' When Grade between 80 and 89 THEN '良' When Grade between 70 and 79 THEN '中' When Grade between 60 and 69 THEN '及格’ else '不及格' End ## COUNTO函数和SUMO)函数的使用 COUNTO()函数——用于统计元组的个数或者某个字段中值的个数 SUM()——则用来计算某个字段值的总和 ## 最大值查询 MAX()函数——在数据库中,MAX()函数用于从一个集合中获取最大值。该函数非常灵活,可以用于各种数值类型的字段,包括整数、浮点数和日期/时间类型的字段 ![](https://img.kancloud.cn/e3/27/e3275dcfc207f02c3d6243f4c245fdbc_1285x717.png) ## 连接查询 INNER(INNER可省略) JOIN...IN——语法格式:需要连接的表1 JOIN需要连接的表2 ON连接的条件。 ## OVER OVER是用于与窗口函数(Window Function)一起使用的关键字,在数据库中经常用于对分组数据进行排序、分析和处理等操作。 ## OVER关键字通常包括以下两个子句: 1. PARTITION BY:按照指定的列或表达式将查询结果进行分区,使每个分区内部的数据独立处理。 2. ORDER BY:按照指定的列或表达式对每个分区进行排序。 例如,以下语句将根据用户类型和日期分区,并在每个分区内按照日期从早到晚排序,然后给出每个分区的行数和行编号: ~~~ SELECT user_type, order_date, COUNT(*) OVER(PARTITION BY user_type, order_date ORDER BY order_date) AS row_count, ROW_NUMBER() OVER(PARTITION BY user_type, order_date ORDER BY order_date) AS row_number FROM orders; ~~~ 在上面的示例中,PARTITION BY子句将数据分为多个分区,ORDER BY子句在每个分区内对数据进行排序。OVER关键字可以与其他窗口函数一起使用,如SUM、AVG、MAX、MIN、NTILE等,以进行更加复杂的分析和汇总操作。