★消除重复行
在 oracle 查询中结果中,可能出现若干行相同的情况,那么可以使用 DISTINCT 消除重复行。集体的用法如示例:
代码演示:DISTINCT 消除重复行
SQL>SELECT DISTINCT DEPTNO FROM EMP :
DEPTNO
-------------
30
20
10
★NULL操作
如果某条记录中有缺少的数据值,就是空值(NULL值)。空值不等于0或者空恪,空值是指未赋值、未知或不可用的值。任何数据类型的列都可以包括NULL 值,除非该列被定义为非空或者主键。
★IN 操作
在where子句中可以使用IN 操作符来查询其列值在指定的列表中的行。比如: 查询出工作职责是SALESMAN、PRESIDENT 或者ANALYST 的员工。条件有两种表示方法:
1、Where job: 'SALESMAN ' or job= 'PRESIDENT ' or job= 'ANALYST‘
2、Where job in ('SALESMAN', 'PRESIDENT‘,’ANALYST')
对应IN操作的还有NOT IN,用法一样,结果相反。
★BETWEEN...AND...
在where 子句中,可以使用BETWEEN 操作符来查询列值包含在制定区间内的行。比如,查询工资从1000到2000之间的员工。可以使用传统方法:
WHERE SAL>=1000 AND SAL<=2000
也可以使用:
WHERE SAL BETWEEN 1000 AND 2000
BWTWEEN 操作所指定的范围也包括边界。
★LIKE 模糊查询
在一些查询时,可能把握不准需要查询的确切值,比如百度搜索时输入关键字即可查询出相关的结果,这种查询称为模糊查询。模糊查询使用LIKE 关键字通过字符匹配检索出所需要的数据行。字符匹配操作可以使用通配符“%”和“-”:
● %:表示零个或者多个任意字符。
● — ;代表一个任意宇符。
语法是:LIKE '宇符串’[ESCAPE ’宇符']。
匹配的字符串中,ESCAPE 后面的 “字符”作为转义字符。与一期SQLserver 中ESCAPE用法相同。
★集合运算
集合运算就是将两个或者多个结果集组合成为一个结果集。集合运算包括:
● INTERSECT(交集),返回两个查询共有的记录。
● UNION ALL(并集),返回各个查询的所有记录,包括重复记录。
● UNION(并集),返回各个查询的所有记录,不包括重复记录。
● MINUS(补集),返回第一个查询检索出的记录减去第二个查询检索出的记录之后剩余的记录。
当使用集合操作的时候,要注意:所有查询所返回的列数以及列的类型必须匹已,列3可以不同。
★连接查询
在SQL Server 中已经学习过内联接(inner join)、外联接(outer join),外联接又分为左外联接(left outer join)和右外联接(right outer join)。Oracle 中对两个表或者若干表之间的外联接用(+) 表示。
子查询
★子查询
可以在SELECT、UPDATE、DELETE 语句内部可以出现SELECT 语句。内部的SELECT语句结果可以作为外部语句中条件子句的一部分,也可以作为外部查询的临时表。子查询的类型有:
1、单行子查询;不向外部返回结果,或者只返回一行结果。
2、多行子查询:向外部返回零行、一行或者多行结果。
从拒绝到蜕变,瞄准和把握时机是关键!分享来自兆隆IT云学院,QQ:598756835