sql两张表合并使用的关键字
时间: 2024-10-18 20:06:53 浏览: 20
SQL中一些小巧但常用的关键字小结
在SQL中,合并或连接(JOIN)两张表通常使用以下几个关键字:
1. **INNER JOIN**:这是最常见的合并方式,它只返回两个表中存在匹配行的结果。如果在一个表中的某一行在另一个表中没有匹配项,那么这条记录将不会出现在结果集中。
```sql
SELECT * FROM table1 INNER JOIN table2 ON table1.common_column = table2.common_column;
```
2. **LEFT JOIN**(也叫 LEFT OUTER JOIN):返回左表的所有行,以及右表中匹配的行。如果右表中没有匹配,则结果集中的右侧列将显示NULL值。
```sql
SELECT * FROM table1 LEFT JOIN table2 ON table1.common_column = table2.common_column;
```
3. **RIGHT JOIN**:类似左连接,但是返回右表的所有行,以及左表中匹配的行。左表的缺失行会填充NULL值。
```sql
SELECT * FROM table1 RIGHT JOIN table2 ON table1.common_column = table2.common_column;
```
4. **FULL OUTER JOIN**:同时包含左表和右表的所有行,如果某个表中没有匹配,则相应列的值就是NULL。
```sql
SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.common_column = table2.common_column;
```
5. **CROSS JOIN**:也叫Cartesian Join,不基于任何条件,简单地将两个表的所有行组合在一起。
```sql
SELECT * FROM table1 CROSS JOIN table2;
```
6. **JOIN ON** / **USING**:这两个关键字用于指定合并的条件,可以代替等价的WHERE子句。
```sql
SELECT * FROM table1 JOIN table2 ON table1.column1 = table2.column2;
OR
SELECT * FROM table1 USING (column1);
```
以上都是基本的合并方式,实际应用中可能还需要考虑性能优化,如使用索引,避免全表扫描等。根据具体情况选择合适的JOIN类型很重要。
阅读全文