inner join where
时间: 2025-02-14 19:16:32 浏览: 34
### 正确使用 INNER JOIN 和 WHERE 子句
在 SQL 查询中,`INNER JOIN` 主要用于基于某些条件组合来自不同表的数据。而 `WHERE` 子句则用来进一步筛选由 `JOIN` 操作产生的结果集。
#### 使用 INNER JOIN 的基本结构
当执行 `INNER JOIN` 时,连接条件应当放置于 `ON` 关键字之后:
```sql
SELECT t1.column_name, t2.column_name
FROM table1 AS t1
INNER JOIN table2 AS t2
ON t1.common_column = t2.common_column;
```
此部分定义了哪些行应该被匹配并加入到最终的结果集中[^1]。
#### 添加额外的过滤条件
如果希望对已通过 `INNER JOIN` 组合后的数据应用更严格的限制,则可以在查询末尾附加 `WHERE` 条件:
```sql
SELECT e.name, d.department_name
FROM employees AS e
INNER JOIN departments AS d
ON e.dept_id = d.id
WHERE e.salary > 5000 AND d.location = 'New York';
```
这里展示了如何先利用 `INNER JOIN` 将员工(`employees`)和部门(`departments`)两张表格按照共同列 (`dept_id`, `id`) 进行关联,然后再用 `WHERE` 对所得集合施加薪资水平以及工作地点的具体约束[^3]。
值得注意的是,在某些情况下,将所有逻辑都放入 `ON` 或者全部移到 `WHERE` 可能会影响性能表现或是改变返回结果的数量。因此理解两者之间的差异非常重要——前者影响着哪几条记录会被考虑进来参与联接操作;后者则是针对已经完成联接后的整个临时表做最后一步的选择处理[^4]。
阅读全文
相关推荐


















