11.28-有点学混乱的杨同学
order by; union all ;equi-join; intersect ;not in 关键字的注意以及笛卡尔积的一般解决方法
1.order by可以与case when联用,按照某些逻辑条件来排序
2.union all-将多个表连接起来不需要有相同的关键字但是需要相同的数据类型,并且select列表中的列数目要相同。
同时union是指已经去过重的联结,所以一般情况下使用union all
3.equi-join等值联接,联接条件是想等条件。
4.intersect集合操作,返回两个表的交集(共同的行)
使用intersect是需要注意两个表的项目数相同以及数据类型相同,默认情况下不会返回重复行
5.not in查找A表中B表中没有的值 使用not in+子查询
not in&in 本质上是or的运算
ture null输出true
false null输出null
例子:
6.笛卡尔积
两个表中的每一行数据任意组合-交叉连接-解决n-1原则
今天推荐一本书哈哈哈哈哈
虽然有点烧脑但是知识点很有用
SQL COOKBOOK