ToB企服应用市场:ToB评测及商务社交产业平台

标题: 读SQL进阶教程笔记03_自连接 [打印本页]

作者: 滴水恩情    时间: 2023-4-4 14:29
标题: 读SQL进阶教程笔记03_自连接

1. 针对相同的表进行的连接

1.1. 相同的表的自连接和不同表间的普通连接并没有什么区别,自连接里的“自”这个词也没有太大的意义
1.2. 与多表之间进行的普通连接相比,自连接的性能开销更大
2. 组合

2.1. 有顺序的有序对(ordered pair)
2.2. 无顺序的无序对(unordered pair)
3. 示例

3.1.

3.2. --用于获取可重排列的SQL语句
  1.    SELECT P1.name AS name_1, P2.name AS name_2
  2.      FROM Products P1, Products P2;
复制代码
3.3. --用于获取排列的SQL语句
  1.    SELECT P1.name AS name_1, P2.name AS name_2
  2.      FROM Products P1, Products P2
  3.     WHERE P1.name <> P2.name;
复制代码
3.4. --用于获取组合的SQL语句
  1.    SELECT P1.name AS name_1, P2.name AS name_2
  2.      FROM Products P1, Products P2
  3.     WHERE P1.name > P2.name;
复制代码
3.5. --用于获取组合的SQL语句:扩展成3列
  1.    SELECT P1.name AS name_1, P2.name AS name_2, P3.name AS name_3
  2.      FROM Products P1, Products P2, Products P3
  3.     WHERE P1.name > P2.name
  4.      AND P2.name > P3.name;
复制代码
3.6. ">”和“<”等比较运算符不仅可以用于比较数值大小,也可以用于比较字符串(比如按字典序进行比较)或者日期
4. 删除重复行

4.1. 示例
4.2. 如果从物理表的层面来理解SQL语句,抽象度是非常低的
4.3. “表”“视图”这样的名称只反映了不同的存储方法,而存储方法并不会影响到SQL语句的执行和结果
4.4. 无论表还是视图,本质上都是集合——集合是SQL能处理的唯一的数据结构
5. 查找局部不一致的列

5.1. 示例
6. 排序

6.1. 示例
7. 同心圆状的递归集合

7.1. 示例


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4