標量子查詢
SQL允許子查詢出現在返回單個值的表示式能夠出現的任何地方,只要該子查詢只返回包含單個屬性的單個元組;這樣的子查詢稱為標量子查詢(scalar subquery)。例如,一個子查詢可以用到下面例子的select子句中,這個例子列出所有的系以及它們擁有的教師數:
- select dept_name,
- (select count(*)
- from instructor
- where department.dept_name = instructor.dept_name)
- as num_instructors
- from department;
上面例子中的子查詢保證只返回單個值,因為它使用了不帶group by的count(*)聚集函式。此例也說明了對相關變數的使用,即使用在外層查詢的from子句中關係的屬性,例如上例中的department.dept_name。
標量子查詢可以出現在select、where和having子句中。也可以不使用聚集函式來定義標量子查詢。在編譯時並非總能判斷一個子查詢返回的結果中是否有多個元組,如果在子查詢被執行後其結果中有不止一個元組,則產生一個執行時錯誤。
注意從技術上講標量子查詢的結果型別仍然是關係,儘管其中只包含單個元組。然而,當在表示式中使用標量子查詢時,它出現的位置是單個值出現的地方,SQL就從該關係中包含單屬性的單元組中取出相應的值,並返回該值。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20747382/viewspace-2130910/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 標量子查詢(二)
- 標量子查詢(一)
- 用WITH…AS改寫標量子查詢
- 都是標量子查詢惹的禍
- MYSQL學習筆記25: 多表查詢(子查詢)[標量子查詢,列子查詢]MySql筆記
- MYSQL count標量子查詢改left joinMySql
- 用LEFT JOIN優化標量子查詢優化
- Oracle常用抓取SQL-標量子查詢等OracleSQL
- 帶彙總的標量子查詢改寫
- 標量子查詢優化(用group by 代替distinct)優化
- mysql 標量子查詢和現金盤程式製作非法子查詢MySql
- 影響Oracle標量子查詢效能的三個因素Oracle
- 【TUNE_ORACLE】列出有標量子查詢的SQL參考OracleSQL
- 效能為王:SQL標量子查詢的優化案例分析SQL優化
- [20150709]慎用標量子查詢.txt
- [20200325]慎用標量子查詢.txt
- GreatSQL 最佳化技巧:將 MINUS 改寫為標量子查詢SQL
- [20140125]關於標量子查詢.txt
- [20150727]使用標量子查詢小問題.txt
- [20180625]函式與標量子查詢13(補充)函式
- [20211220]關於標量子查詢問題.txt
- [20211214]18c標量子查詢unnest.txt
- [20180612]函式與標量子查詢10.txt函式
- [20180626]函式與標量子查詢14.txt函式
- [20180602]函式與標量子查詢3.txt函式
- 20180601]函式與標量子查詢2.txt函式
- [20180611]函式與標量子查詢9.txt函式
- [20180607]函式與標量子查詢8.txt函式
- [20180602]函式與標量子查詢4.txt函式
- 遊標查詢
- 如何查詢上標
- [20210202]計算標量子查詢快取數量2.txt快取
- [20210201]19c計算標量子查詢快取數量.txt快取
- 二分查詢—包括查詢第一個目標元素和最後一個目標元素
- js查詢HTMLCollection物件中的下標JSHTML物件
- Oracle 查詢當前會話標識Oracle會話
- 流式查詢1. mybatis的遊標Cursor,分頁大資料查詢MyBatis大資料
- 391、Java框架46 -【Hibernate - 查詢HQL、查詢Criteria、查詢標準SQL】 2020.10.19Java框架SQL