SQL 自连接
SQL 自连接
自连接是一种常规连接,但是表与自身连接。
Self Join 语法
SELECT column_name(s) FROM table1 T1, table1 T2 WHERE condition;
T1 和 T2 是对同一个表的不同表别名。
演示数据库
下面是 Customers 表中的片段:
| CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
|---|---|---|---|---|---|---|
| 1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
| 2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
| 3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
SQL Self Join 实例
以下 SQL 语句匹配来自同一城市的客户:
实例
SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City FROM Customers A, Customers B WHERE A.CustomerID <> B.CustomerID AND A.City = B.City ORDER BY A.City;