几个高级查询运算词
A:
UNION
运算符
UNION
运算符通过组合其他两个结果表(例如
TABLE1
和
TABLE2)并消去表中任何重复行而派生出一个结果表。当
ALL
随
UNION
一起使用时(即
UNION
ALL),不消除重复行。两种情况下,派生表的每一行不是来自
TABLE1
就是来自
TABLE2。
B:
EXCEPT
运算符
EXCEPT
运算符通过包括所有在
TABLE1
中但不在
TABLE2
中的行并消除所有重复行而派生出一个结果表。当
ALL
随
EXCEPT
一起使用时
(EXCEPT
ALL),不消除重复行。
C:
INTERSECT
运算符
INTERSECT
运算符通过只包括
TABLE1
和
TABLE2
中都有的行并消除所有重复行而派生出一个结果表。当
ALL
随
INTERSECT
一起使用时
(INTERSECT
ALL),不消除重复行。
注:使用运算词的几个查询结果行必须是一致的。
12、说明:使用外连接
A、left
outer
join:
左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。
SQL:
select
a.a,
a.b,
a.c,
b.c,
b.d,
b.f
from
a
LEFT
OUT
JOIN
b
ON
a.a
=
b.c
B:right
outer
join:
右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
C:full
outer
join:
全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录
查询的一般格式为:
select
[
all
|
distinct
]
目标列表达式1
[,目标列表达式2]…
from
表名或视图名1
[,
表名或视图名2]…
[where
条件表达式]
[group
by
列名1
[having<条件表达式>]]
[order
by
<列名2>
[asc|desc]]
Select子句指定要显示的列,from子句列出查询的对象表
查询分类:
1.单表查询
2.按列查询、查询经过计算的值、消除取值重复的行、条件查询、对查询结果排序、使用集函数、对查询结果分组
3.连接查询
4.等值与非等值连接查询、自身连接、复合条件连接
5.嵌套查询
6.带有IN谓词的子句查询、带有比较运算符的子查询
7.集合查询
示例:
1.select
*
from
学生表
2.select
姓名,年龄
from
学生表
where
年龄<20
3.select
*
from
学生表
order
by
专业,年龄
desc