查询两张那个表的交集inner join 和join哪个效率更高
时间: 2023-12-08 11:39:45 浏览: 249
SQL中inner join、outer join和cross join的区别
根据引用[1]的解释, join查询结果较少,而left join查询结果较多。因此,如果两个表的交集较小,则使用inner join效率更高;如果两个表的交集较大,则使用left join效率更高。
至于join和inner join的区别,实际上它们是等价的,join默认为inner join。因此,它们的效率是相同的。
以下是MySQL中inner join和left join的演示:
假设有两个表:students和scores,它们的结构如下:
students表:
| id | name | age |
|----|--------|-----|
| 1 | Alice | 18 |
| 2 | Bob | 19 |
| 3 | Charlie| 20 |
scores表:
| id | student_id | score |
|----|------------|-------|
| 1 | 1 | 90 |
| 2 | 2 | 85 |
| 3 | 3 | 95 |
1. inner join查询:
```mysql
SELECT students.name, scores.score
FROM students
INNER JOIN scores
ON students.id = scores.student_id;
```
查询结果:
| name | score |
|---------|-------|
| Alice | 90 |
| Bob | 85 |
| Charlie | 95 |
2. left join查询:
```mysql
SELECT students.name, scores.score
FROM students
LEFT JOIN scores
ON students.id = scores.student_id;
```
查询结果:
| name | score |
|---------|-------|
| Alice | 90 |
| Bob | 85 |
| Charlie | 95 |
| NULL | NULL |
阅读全文