條件查詢
SELECT *|{[DISTINCT] column|expression [alias ],...}
FROM table
[WHERE condition(s) ];
Condition(s) 要使用到比較運算符常用的比較運算符如下 :
操作符 |
含義 |
= |
等於 |
> |
大於 |
>= |
大於等於 |
< |
小於 |
<= |
小於等於 |
<> |
不等於 等效於 != |
其它操作 |
|
And 邏輯運算 邏輯與 |
|
Or 邏輯運算 邏輯或 |
|
Not 邏輯運算 邏輯否 |
|
Between 起始值 and 結束值 : 使用 BETWEEN 運算來顯示在一個區間內的值 包含 ( 起始結束值 ) |
|
In: 使用 IN 運算顯示列表中的值。 In(,,,) 相當於一個集合 , 只要出現集合中匹配的就顯示 |
|
Like : l 使用 LIKE 運算選擇類似的值 l 選擇條件可以包含字符或數字 : • % 代表零個或多個字符 ( 任意個字符 ) 。 • _ 代表一個字符。 |
|
Escape : 迴避特殊符號的:使用轉義符。例如:將 [%] 轉爲 [\%] 、 [_] 轉爲 [\_] ,然後再加上 [ESCAPE ‘\’] 即可 |
|
Null: 使用 IS (NOT) NULL 判斷空值。 |
// 查詢部門號爲 10 的員工信息 部門爲整數類型
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno=10;
// 查詢職位號爲 MANAGER 的員工信息 崗位的類型爲字符類型
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where job='MANAGER';
// 查詢部門號爲 10 並且員工的職位爲 MANAGER 的員工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where job='MANAGER' and deptno=10;
注意:
l 字符和日期要包含在單引號中 。
l 字符大小寫敏感,日期格式敏感 。
l 默認的日期格式是 DD-MON-RR 。
// 查詢部門號大於 10 的員工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno>10;
// 查詢薪水大於等於 3000 的員工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal>=3000;
// 查詢薪水不等於 3000 的員工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal<>3000;
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal !=3000;
// 查詢薪水大於 2000 並且小於 3000 的員工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal>2000 and sal<3000;
// 查詢薪水大於等於 2000 並且小於等於 3000 的員工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal between 1600 and 3000;
// 等效於
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal>=1600 and sal<=3000;
// 查詢部門號位 10 , 20 的員工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno in(10,20);
// 注意:相當於如下操作:
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno =10 or deptno=20;
// 查詢員工名稱以 S 開頭的員工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like 'S%';
// 查詢員工名稱以 S 結尾的員工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%S';
// 查詢員工名稱第三個字符爲 N 的員工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '__N%';
// 查詢員工名稱中含有 N 的員工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%N%';
// 查詢員工名稱中倒數第二個字符爲 % 的員工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%\%_'escape'\';
// 查詢員工名稱總含有 % 的員工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%\%%'escape'\';
// 查詢獎金爲 null 的員工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where comm is null;
// 查詢獎金非 null 的員工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where comm is not null;
優先級表格:
優先級 |
|
1 |
算術運算 |
2 |
連接符 |
3 |
比較符 |
4 |
Is not null like not in |
5 |
Not between |
6 |
not |
7 |
and |
8 |
Or |
備註:可以採用括號改變優先級 |
關係數據庫 - à 層次關係 à 網狀的關係 - à 關係數據庫 - à 對象關係。