操作符
1.算術運算
只有加減乘除運算子,出號(/)結構是浮點數,求餘運算函式:mod(x,y)。
2.關係運算和邏輯運算
3.字串連線操作符(||)**
(注意:oracle 中字串可以用單引號,也可以用雙引號,在別名中存在空格時,必須用雙 引號。在表名、列名時用雙引號。)
高階查詢
1. 消除重複行
中結果中,可能出現若干行相同的情況,那麼可以使用 distinct 消除重 復行。
2.null操作select
distinct deptno from emp
如果某條記錄中有缺少的資料值,就是空值(null 值)。空值不等於 0 或者空格,空值 是指未賦值、未知或不可用的值。任何資料型別的列都可以包括 null 值,除非該列被定義 為非空或者主鍵。
在查詢條件中 null 值用 is null 作條件,非 null 值用 not is null 做條件。
3.in操作
在 where 子句中可以使用 in 操作符來查詢其列值在指定的列表中的行。對應 in 操作的還有 not in,用法一樣,結果相反。
4.between…and…
在 where 子句中,可以使用 between 操作符來查詢列值包含在指定區間內的行。
5.like 模糊查詢
語法是:like 『字串』[escape 『字元』]。匹配的字串中,escape 後面的「字元」作為轉 義字元。
6.集合運算
集合運算就是將兩個或者多個結果集組合成為乙個結果集。集合運算包括:
當使用集合操作的時候,要注意:查詢所返回的列數以及列的型別必須匹配,列名可以 不同。
eg:
7.連線查詢sql> select deptno from dept
2 minus
3select deptno from emp;
在 sql server 中已經學習過內聯接(inner join)、外聯接(outer join),外聯接又分為左外聯 接(left outer join)和右外聯接(right outer join)。oracle 中對兩個表或者若干表之間的外聯接用 (+)表示。
eg:
內聯接
內聯接sql> select e.ename,e.job,e.sal,d.dname
2 from emp e,dept d
3 where e.deptno=d.deptno
4and e.sal>2000
;
這裡 inner join 中,關鍵字 inner 可以省略select e.ename,e.job,e.sal,d.dname
from emp e inner join dept d on e.deptno=d.deptno
where e.sal>2000
eg:
請查詢出每個部門下的員工姓名,工資。
emp 錶用外來鍵 deptno 引用 dept 表中的 deptno,在 dept 表中如果有某些部門沒有員工, 那麼用內聯接,沒有員工的部門將無法顯示,因此必須以 dept 表為基準的外聯接。
外聯接
(+):oracle 專用的聯接符,在條件中出現在左邊指右外聯接,出現在右邊指左外 聯接。sql> select e.ename,e.job,e.sal,d.dname
2 from emp e ,dept d
3 where e.deptno(+)=d.deptno
這裡 right outer join 中,關鍵字 outer 可以省略。select e.ename,e.job,e.sal,d.dname
from emp e right
outer
join dept d on e.deptno=d.deptno
Oracle基操筆記(五) DML
dml data manipulationlanguage 顧名思義,運算元據的語言,亦可理解為modify 更改 公式insert into tb name col1,col2,values v1,v2,insert into tb name values v1,v2,insert into tb...
MySQL基礎之DML語言(四)
dml資料操作語言 插入 insert 刪除 delete 修改 update 一 插入語句 方式一 語法 insert into 表名 列名,values 值1,注意 列數和值的個數必須一致 可以省略列名,預設所有列 方式二 語法 insert into 表名 set 列名 值,兩種方式對比 1....
四 資料庫之DML
語法 insert into 表名 列名1 列名2.values 值1,值2.特點 要求值的型別和字段的型別要一致或相容 欄位的個數和順序不一定與原始表中的字段個數和順序一致,但必須保證值和字段一一對應假如表中有可以為null的字段 nullable 注意可以通過以下兩種方式插入null值 欄位和值...