軟體開發中oracle查詢常用方法總結
上次新霸哥和大家講解了一些關於oracle的知識發現大家對oracle還是比較感興趣的,下面新霸哥就大家比較關係的oracle中常用的查詢有哪幾種?做個和oracle相關的開發的朋友可能會知道答案,但是剛接觸過oracle的朋友可能還不知道是怎麼回事。今天,新霸哥將在此給大家做一個詳細的介紹。
多表連線查詢
連線多表
1. 笛卡爾積
在沒有任何過濾條件的情況下,左表的任意一行記錄 與 右表的任意記錄進行連線
2. 使用連線查詢
下面新霸哥簡單的介紹一下語法1:select columnList from table1, table2 where table1.column1 operator table2.column2(連線條件) and 過濾條件,在where子句中指定連線條件,連線n個表時,連線條件要有n-1個,幾個表中的同名欄位 引用時要加字首給表起別名:from tablename n
這是語法2:select columnList from table1 join table2 on table1.column1 operator table2.column2 join table3 on ... where 過濾條件
非等值連線
連線兩個或多個表時,在條件中不使用等號,而是用比如<,>,>=,<=,!=,between m and n,in等運算子
自然連線
根據兩個表的同名列來執行連線操作只有當表中有同名列且資料型別也相同時才能在使用NATURAL JOIN。
看看新霸哥給的語法:select columnList from table1 natural join table2;
使用Using子句連線表
如果兩個表有同名列,在連線語句裡使用Using子句來指定連線的列
select columnList from table1 join table2 using (columnName)
交叉連線
使用關鍵字Cross包含多個表的連線,連線的結果為一個笛卡爾乘積
語法:select columnList from table1 cross join table2;
外連線
當兩個表執行連線操作時,表中不滿足連線條件的行是會被顯示的
語法:select columnListfrom table1 [left|right|full] outer join table2 on ...
三種型別的外連線:
1. Left outer join 左外連線
返回第一個表的所有行 和 第二個表中滿足連線條件的行
2. Right outer join 右外連線
返回第二個表的所有行 和 第一個表中滿足連線條件的行
3. Full outer join 滿外連線
返回兩個表的所有行,分為兩個部分:
1) 返回第一個表的所有行,即便第二表中沒有匹配行
2) 返回第二個表的所有行,即便第一表中沒有匹配行
4. 內連線 self join
用於連線在同一個表的資料。
子查詢 Sub Query
在一條select語句內定義另外一條select語句。
注意點:
1. 子查詢在主查詢執行前執行
2. 主查詢使用子查詢的結果
3. 所有子查詢必須用括號括起來
4. 為了增強可讀性,子查詢應置於比較條件的右方
5. 除非使用top-n分析,否則子查詢中不使用order by
子查詢的巢狀
包含一個或多個子查詢的查詢
單行子查詢:子查詢結果為一行
多行子查詢:子查詢結果為多行
Top-N查詢
語法:select columnList from table where rownum <= n rownum只對當前select有效
新霸哥通過開發中遇到的一些問題總結了查詢中一些常見問題:
1. 獲取單表所有記錄 select * from table;
2. 獲取單表某欄位不重複記錄 select distinct column from table;
3. 查詢結果欄位取別名 select column otherName from table;
4. 查詢過濾條件 select columnList from table where where_condition;
5. 查詢結果排序 select columnList from table order by column [asc|desc];
6. 分組查詢 select columnList from table group by column1, column2;
7. 過濾多行函式結果 select columnList from table group by column1, column2 having having_condition;
8. 多表查詢,內連線,外連線(左外連線、右外連線、滿外連線)
select columnList from table1 [left|right|full] join table2 on table1.column1 = table2.column2;
9. 子查詢
10. 巢狀子查詢
好了,今天的關於軟體開發中oracle查詢常用方法總結就寫到這裡了,更多的關於oracle方面的問題歡迎和新霸哥交流。
多表連線查詢
連線多表
1. 笛卡爾積
在沒有任何過濾條件的情況下,左表的任意一行記錄 與 右表的任意記錄進行連線
2. 使用連線查詢
下面新霸哥簡單的介紹一下語法1:select columnList from table1, table2 where table1.column1 operator table2.column2(連線條件) and 過濾條件,在where子句中指定連線條件,連線n個表時,連線條件要有n-1個,幾個表中的同名欄位 引用時要加字首給表起別名:from tablename n
這是語法2:select columnList from table1 join table2 on table1.column1 operator table2.column2 join table3 on ... where 過濾條件
非等值連線
連線兩個或多個表時,在條件中不使用等號,而是用比如<,>,>=,<=,!=,between m and n,in等運算子
自然連線
根據兩個表的同名列來執行連線操作只有當表中有同名列且資料型別也相同時才能在使用NATURAL JOIN。
看看新霸哥給的語法:select columnList from table1 natural join table2;
使用Using子句連線表
如果兩個表有同名列,在連線語句裡使用Using子句來指定連線的列
select columnList from table1 join table2 using (columnName)
交叉連線
使用關鍵字Cross包含多個表的連線,連線的結果為一個笛卡爾乘積
語法:select columnList from table1 cross join table2;
外連線
當兩個表執行連線操作時,表中不滿足連線條件的行是會被顯示的
語法:select columnListfrom table1 [left|right|full] outer join table2 on ...
三種型別的外連線:
1. Left outer join 左外連線
返回第一個表的所有行 和 第二個表中滿足連線條件的行
2. Right outer join 右外連線
返回第二個表的所有行 和 第一個表中滿足連線條件的行
3. Full outer join 滿外連線
返回兩個表的所有行,分為兩個部分:
1) 返回第一個表的所有行,即便第二表中沒有匹配行
2) 返回第二個表的所有行,即便第一表中沒有匹配行
4. 內連線 self join
用於連線在同一個表的資料。
子查詢 Sub Query
在一條select語句內定義另外一條select語句。
注意點:
1. 子查詢在主查詢執行前執行
2. 主查詢使用子查詢的結果
3. 所有子查詢必須用括號括起來
4. 為了增強可讀性,子查詢應置於比較條件的右方
5. 除非使用top-n分析,否則子查詢中不使用order by
子查詢的巢狀
包含一個或多個子查詢的查詢
單行子查詢:子查詢結果為一行
多行子查詢:子查詢結果為多行
Top-N查詢
語法:select columnList from table where rownum <= n rownum只對當前select有效
新霸哥通過開發中遇到的一些問題總結了查詢中一些常見問題:
1. 獲取單表所有記錄 select * from table;
2. 獲取單表某欄位不重複記錄 select distinct column from table;
3. 查詢結果欄位取別名 select column otherName from table;
4. 查詢過濾條件 select columnList from table where where_condition;
5. 查詢結果排序 select columnList from table order by column [asc|desc];
6. 分組查詢 select columnList from table group by column1, column2;
7. 過濾多行函式結果 select columnList from table group by column1, column2 having having_condition;
8. 多表查詢,內連線,外連線(左外連線、右外連線、滿外連線)
select columnList from table1 [left|right|full] join table2 on table1.column1 = table2.column2;
9. 子查詢
10. 巢狀子查詢
好了,今天的關於軟體開發中oracle查詢常用方法總結就寫到這裡了,更多的關於oracle方面的問題歡迎和新霸哥交流。
相關文章
- 提高查詢速度方法總結
- Oracle:優化方法總結(關於連表查詢)Oracle優化
- oracle常用查詢Oracle
- .NET開發中你可能會用到的常用方法總結(2)
- 軟體開發mac常用軟體Mac
- 軟體測試:Java-String的常用方法總結Java
- Oracle DBA常用查詢Oracle
- oracle常用SQL查詢OracleSQL
- Oracle常用的轉儲方法總結Oracle
- 【軟體實施面試】MySQL和Oracle聯合查詢以及聚合函式面試總結面試MySqlOracle函式
- js中陣列常用方法總結JS陣列
- Java中request物件常用方法總結Java物件
- Mongodb 常用的查詢方法MongoDB
- Oracle總結【SQL細節、多表查詢、分組查詢、分頁】OracleSQL
- oracle常用維護查詢Oracle
- Oracle 常用SQL查詢列表OracleSQL
- oracle常用狀態查詢Oracle
- 常用ORACLE查詢命令SQLOracleSQL
- oracle 常用查詢檢視Oracle
- MongoDB查詢總結MongoDB
- SQL查詢總結SQL
- linux下查詢程式佔用的記憶體方法總結Linux記憶體
- 軟體開發工程師工作總結(轉)工程師
- 開發中總結
- 知乎Live「迴歸本源:軟體開發中那些基本的概念」總結
- Oracle 高水位查詢和處理方法彙總Oracle
- 前端開發常用cdn,api總結前端API
- php開發常用函式總結PHP函式
- ORACLE常用結構和函式使用方法總結Oracle函式
- Oracle常用的查詢語句Oracle
- oracle常用經典sql查詢OracleSQL
- 常用js方法總結:JS
- NumPy常用方法總結
- Oracle 常用方法彙總Oracle
- MogDB openGauss常用查詢彙總
- Linux 查詢已安裝軟體的方法Linux
- 五年軟體開發的一點自我總結
- 軟體開發工程師常用的工具軟體工程師