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后作为表存在(多行多列)2).根据条件结果分类
Ⅰ.单行单列:SELECT * FROM 表1 别名1 WHERE 列1 [> < = >= <= != ] (SELECT 列 FROM 表2 别名2 WHERE 条件)
Ⅱ.多行单列:SELECT * FROM 表1 别名1 WHERE 列1 [IN ANY ALL ] (SELECT 列 FROM 表2 别名2 WHERE 条件)
Ⅲ.单行多列:SELECT * FROM 表1 别名1 WHERE (列1 列2) IN (SELECT (列1,列2) FROM 表2 别名2 WHERE 条件)
Ⅵ.多行多列:SELECT * FROM 表1 别名1 ,(SELECT ......) 别名2 WHERE 条件
新闻热点
疑难解答