mysql中cross join的用法
时间: 2024-04-09 19:28:25 浏览: 158
在MySQL中,CROSS JOIN是一种用于组合两个或多个表的连接方式。它返回两个表的笛卡尔积,即将一个表的每一行与另一个表的每一行进行组合。
CROSS JOIN的语法如下:
```sql
SELECT * FROM table1 CROSS JOIN table2;
```
其中,table1和table2是要进行组合的表名。可以使用逗号(,)来代替CROSS JOIN关键字。
示例:
假设有两个表:table1和table2。
table1:
```
+----+-------+
| ID | Name |
+----+-------+
| 1 | John |
| 2 | Alice |
+----+-------+
```
table2:
```
+------+-------+
| Code | Value |
+------+-------+
| 100 | A |
| 200 | B |
+------+-------+
```
使用CROSS JOIN组合这两个表:
```sql
SELECT * FROM table1 CROSS JOIN table2;
```
结果:
```
+----+-------+------+-------+
| ID | Name | Code | Value |
+----+-------+------+-------+
| 1 | John | 100 | A |
| 1 | John | 200 | B |
| 2 | Alice | 100 | A |
| 2 | Alice | 200 | B |
+----+-------+------+-------+
```
可以看到,CROSS JOIN返回了两个表的笛卡尔积,即每个表中的每一行都与另一个表中的每一行进行了组合。
阅读全文