溫故而知新 Oracle《三》

2021-08-18 19:23:00 字數 1110 閱讀 3135

多表查詢

主鍵:oid,唯一能標識一行的字段。非空,唯一特點。

外來鍵:可以在一張表當中通過乙個外來鍵定位到另外一張表的主鍵裡面。

一定要避免笛卡爾集合,在一些表當中,可能會存在乙個外來鍵,關聯另外乙個表當中的主鍵(或者是兩張表當中有些字段有些相等關係)。如何避免笛卡爾集合:加入鏈結條件,n個表當中查詢資料,條件不能少於n-1個。

等值連線和非等值連線

等值連線就是連線條件中使用「=」連線兩個表

非等值連線就是指連線條件》 >= <= != <> between...and...in 等,通常這種方式需要和其他等值運算一起使用。

select * from table1, table2 where table1.sal between table1.lowersal and table2.uppersal;

內連線和外連線

內連線:在進行多表查詢的過程中,多張表當中不滿足的都不顯示。(等值)

外連線:在進行多表查詢的時候,左邊(右邊)表不能滿足條件的也顯示出來。

外連線語法:使用外連線可以查詢不滿足連線條件的資料,外連線的符號是(+)。

左外連線:select table1.column, table2.column from table1,table2 where table1.column(+)=table2.column;

作用:出來可以查詢了滿足條件的資料,查詢不滿足條件的資料(左,右)。

全外連線

自連線:在一張表中某些欄位有一定的關聯。類似於emp表當中empno和mgr之間是乙個關聯的。

select 表別名.欄位...... from 表 別名,表 別名 where 表1 別名.欄位=表2 別名.欄位;

select e1.empno, e1.ename, e2.ename from emp e1, emp e2 where e1.mgr=e2.empno; 

自然連線:

natural join 子句,會以兩個表中具有相同名字的列為條件建立等值連線。

在表中查詢滿足等值條件的資料。

如果只是列名相同而資料型別不同,則會產生錯誤。

select ename, dname from emp, dept where emp natural join dept;

溫故而知新

堆排 建立堆,維護堆的屬性 一次拿掉乙個,然後維護屬性,二分的結構 使得維護屬性只要logn的時間 冒泡也是一次拿走乙個 但是線性的結構 每次沒有節省時間 快排 一次確定 乙個值的位置,然後二分,縮小問題的範圍。floyd找最短 一次更新 將狀態改為經過固定點的 最短距離 迴圈 遍歷每個點,則結果為...

溫故而知新(一)

一 c 基礎語法 1.注釋符 b.解釋所寫的 2.vs中常用的快捷鍵 3.變數 用來在計算機中儲存資料 b.要給儲存空間起乙個有意義的名字,方便我們以後的使用 b.變數型別 變數名 值 4.命名規則 5.號的使用 6.佔位符的使用 先挖坑,再填坑 異常 exception 在程式執行的過程中,由於某...

C 陣列 溫故而知新

using system using system.collections.generic using system.linq using system.text namespace 陣列 陣列初始化器只能在宣告陣列變數時使用,不能在宣告陣列之後使用 int iii new int 用花括號初始化陣...