内连接,又称等值连接,是一种在表之间建立关系的数据库操作,用于从多个表中检索满足指定条件的行。内连接使用ON关键字将两个或多个表中的列进行匹配,仅返回满足连接条件的行。
写法一:使用INNER JOIN
INNER JOIN的语法如下:
SELECT 列名 FROM 表1 INNER JOIN 表2 ON 表1.列名 = 表2.列名
例如:检索员工表和部门表的员工姓名和部门名称,可以使用以下语句:
SELECT employee.name, department.name
FROM employee
INNER JOIN department ON employee.dept_id = department.id
写法二:使用WHERE子句
也可以使用WHERE子句来实现内连接。WHERE子句中的条件将指定连接条件,仅返回满足条件的行。语法如下:
SELECT 列名 FROM 表1, 表2 WHERE 表1.列名 = 表2.列名
例如:使用WHERE子句检索employee表和department表的员工姓名和部门名称的语句如下:
SELECT employee.name, department.name
FROM employee, department
WHERE employee.dept_id = department.id
选择哪种写法?
两种写法本质上相同,都可以实现内连接。选择哪种写法取决于个人喜好和具体的查询需求。INNER JOIN语法更简洁明确,而WHERE子句写法更灵活,可以在连接条件中使用其他运算符和函数。
一般来说,如果连接条件简单,INNER JOIN语法更便于阅读和理解。如果连接条件复杂,涉及多个运算符和函数,则WHERE子句更合适。