select
e.employee_id, d.department_name
from
employees e, departments d
where
e.department_id = d.department_id;
非等值连接
select
e.last_name, e.salary, j.grade_level
from
employees e, job_grades j
where
e.salary between j.lowest_sal and j.highest_salary;
自连接
select
e.employee_id, e.last_name, m.employee_id, m.last_name
from
employees e, employees m
where
e.manage_id = m.employee_id;
非自连接
# 以上几个case均为非自连接
内连接
# 以上几个case均为内连接
外连接
# 查询所有的员工的employee_id, department_name 信息# SQL92语法实现外连接 使用 (+), MySQL 不支持select
e.employee_id, d.department_name
from
employees e, departments d
where
e.department_id = d.department_id(+);# SQL99 语法使用join..on.. 实现多表查询select
e.employee_id, d.department_name
from
employees e
leftouterjoin
departments d
on
e.department_id = d.department_id;# 左外连接select
e.employee_id, d.department_name
from
departments d
rightouterjoin
employees e
on
d.department_id = e.department_id;# 右外连接select
e.employee_id, d.department_name
from
departments d
fullouterjoin
employees e
on
d.department_id