(1)算术运算
Oracle 中的算术运算符,没有 C#中的算术运算符丰富,只有+、-、*、/四个,其中除号(/)的结果是浮点数。求余运算只能借助函数:MOD(x,y):返回 x 除以 y 的余数。
(2)关系运算和逻辑运算
运算符 |
说明 |
=,<,>,<=,>= |
|
!=,<> |
不等于 |
(3)逻辑运算符
逻辑运算符有三个:AND、OR、NOT
(4)字符串连接操作符(||)
SELECT (ENAME || 'is a ' || JOB) AS "Employee Details" FROM EMP WHERE SAL>2000;
1.DISTINCT 消除重复行
2.NULL 值用 IS NULL 作条件,非 NULL 值用 NOT IS NULL 做条件
3.IN 操作的还有 NOT IN
4.BETWEEN…AND…
5.LIKE 模糊查询,“%”和“_”
LIKE '字符串'[ESCAPE '字符']:例如:'%30\%%' escape '\'(包含“30%”的字符串,“\”指转义字符,“\%”在字符串中表示一个字符“%”)
6.集合运算
集合运算就是将两个或者多个结果集组合成为一个结果集。集合运算包括:
INTERSECT(交集),返回两个查询共有的记录。
UNION ALL(并集),返回各个查询的所有记录,包括重复记录。
UNION(并集),返回各个查询的所有记录,不包括重复记录。
MINUS(补集),返回第一个查询检索出的记录减去第二个查询检索出的记录之后剩 余的记录。
例如:
SELECT DEPTNO FROM DEPT MINUS SELECTDEPTNO FROM EMP; INSERT INTO DEPT SELECT 50,'公关部','台湾' FROM DUAL UNION SELECT60,'研发部','西安' FROM DUAL UNION SELECT 70,'培训部','西安' FROM DUAL ;
7. 连接查询
在 SQL Server 中已经学习过内联接(inner join)、外联接(outer join),外联接又分为左外联 接(left outer join)和右外联接(right outer join)。Oracle 中对两个表或者若干表之间的外联接用 (+)表示。
SELECTe.ENAME,e.JOB,e.SAL,d.DNAME FROM EMP e INNERJOIN DEPT d ON e.DEPTNO=d.DEPTNO WHERE e.SAL>2000; SELECT e.ENAME,e.JOB,e.SAL,d.DNAME FROMEMP e ,DEPT d WHERE e.DEPTNO(+)=d.DEPTNO; SELECTe.ENAME,e.JOB,e.SAL,d.DNAME FROM EMP e RIGHTOUTER JOIN DEPT d ON e.DEPTNO=d.DEPTNO;