1. INNER JOIN(内连接): 返回两个表中匹配的行。
SELECT orders.order_id, customers.customer_name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;
2. LEFT JOIN(左连接): 返回左表中的所有行,以及右表中匹配的行。如果右表中没有匹配的行,则结果集中将包含 NULL 值。
SELECT employees.employee_id, employees.employee_name, departments.department_name
FROM employees
LEFT JOIN departments ON employees.department_id = departments.department_id;
3. RIGHT JOIN(右连接): 返回右表中的所有行,以及左表中匹配的行。如果左表中没有匹配的行,则结果集中将包含 NULL 值。
SELECT departments.department_id, departments.department_name, employees.employee_name
FROM departments
RIGHT JOIN employees ON departments.department_id = employees.department_id;
4. FULL JOIN(全连接): 返回两个表中的所有行,如果没有匹配的行,则结果集中将包含 NULL 值。
SELECT students.student_id, students.student_name, grades.grade
FROM students
FULL JOIN grades ON students.student_id = grades.student_id;
这些是一些基本的 JOIN 类型,但在实际应用中,你可能需要根据具体情况选择适当的 JOIN 类型来满足查询需求。 JOIN 语句通常涉及到在 ON 子句中指定连接条件,该条件定义了连接两个表的规则。
转载请注明出处:http://www.pingtaimeng.com/article/detail/14185/SQLite