1、内连接
1).方言版
SELECT
e.empname,
d.`deptname`
FROM
emp e,
dept d
WHERE e.`deptno` = d.`deptno` ;
2).标准版
SELECT
e.`empname`,
d.`deptname`
FROM
emp e
INNER JOIN dept d
ON e.`deptno` = d.`deptno` ;
3).自然版
SELECT
e.`empname`,
d.`deptname`
FROM
emp e natural
join dept d ;
2、外连接
1).左外连接:左表无论是否满足条件都会被查询出来,而右表只有满足条件的才能被查询出来。左表中不满足条件的记录,右表不分都为NULL。
SELECT
e.`empname`,
d.`deptname`
FROM
emp e
LEFT OUTER JOIN dept d
ON e.`deptno` = d.`deptno` ;
2).右外连接:右表无论是否满足条件都会被查询出来,而左表只有满足条件的才能被查询出来。右表不满足条件的记录,左表部分都为NULL。
SELECT
e.`empname`,
d.`deptname`
FROM
emp e
RIGHT OUTER JOIN dept d
ON e.`deptno` = d.`deptno` ;
3、子查询
查询中有查询(查看SELECT关键字的个数)
1).出现的位置
一种为where后作为条件存在,另一种为from后作为表存在(多行多列)