標量子查詢(二)
標量子查詢要避免單行子查詢返回多行
點選(此處)摺疊或開啟
-
DROP TABLE t1;
-
DROP TABLE t2;
-
CREATE TABLE t1(ID NUMBER, VALUE VARCHAR2(20));
-
CREATE TABLE t2(ID NUMBER, VALUE VARCHAR2(20));
-
INSERT INTO t1 VALUES (1, \'A\');
-
INSERT INTO t1 VALUES (2, \'D\');
-
INSERT INTO t1 VALUES (3, \'L\');
-
INSERT INTO t2 VALUES (1, \'B\');
-
INSERT INTO t2 VALUES (1, \'C\');
-
INSERT INTO t2 VALUES (2, \'K\');
-
COMMIT;
-
-
--子查詢返回了多行,出錯
-
SELECT t1.*, (SELECT ID FROM t2 WHERE t2.ID = t1.ID) FROM t1;
-
-
ERROR at line 1:
-
ORA-01427: single-row subquery returns more than one row
-
-
--用如下小技巧改造SQL, 判斷出t1 表哪個記錄對應到t2 表返回多行。
-
SELECT * FROM (SELECT t1.*, (SELECT COUNT(*) FROM T2 WHERE t2.ID = t1.ID) cnt FROM t1) WHERE cnt > 1;
-
-
ID VALUE CNT
-
---------- -------------------- ----------
- 1 A 2
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17013648/viewspace-1071315/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20200325]慎用標量子查詢.txt
- MYSQL學習筆記25: 多表查詢(子查詢)[標量子查詢,列子查詢]MySql筆記
- MYSQL count標量子查詢改left joinMySql
- [20211220]關於標量子查詢問題.txt
- Oracle常用抓取SQL-標量子查詢等OracleSQL
- mysql 標量子查詢和現金盤程式製作非法子查詢MySql
- [20180626]函式與標量子查詢14.txt函式
- [20180625]函式與標量子查詢13(補充)函式
- [20180612]函式與標量子查詢10.txt函式
- [20180611]函式與標量子查詢9.txt函式
- [20180607]函式與標量子查詢8.txt函式
- [20180602]函式與標量子查詢4.txt函式
- [20180602]函式與標量子查詢3.txt函式
- 20180601]函式與標量子查詢2.txt函式
- [20211214]18c標量子查詢unnest.txt
- 影響Oracle標量子查詢效能的三個因素Oracle
- 【TUNE_ORACLE】列出有標量子查詢的SQL參考OracleSQL
- GreatSQL 最佳化技巧:將 MINUS 改寫為標量子查詢SQL
- [20210202]計算標量子查詢快取數量2.txt快取
- [20210201]19c計算標量子查詢快取數量.txt快取
- 查詢——二分查詢
- 二分查詢—包括查詢第一個目標元素和最後一個目標元素
- 遊標查詢
- 如何查詢上標
- 查詢演算法__二分查詢演算法
- 二分查詢(一)——純粹的二分查詢
- 二、mybatis查詢分析MyBatis
- 二分查詢
- ElasticSearch的查詢(二)Elasticsearch
- 391、Java框架46 -【Hibernate - 查詢HQL、查詢Criteria、查詢標準SQL】 2020.10.19Java框架SQL
- 查詢演算法之二分查詢演算法
- 二叉查詢樹的插入刪除查詢
- 二維陣列查詢陣列
- 二分查詢法
- PHP二分查詢PHP
- leetcode——二分查詢LeetCode
- leetcode -- 二分查詢LeetCode
- 二叉查詢樹
- 第二章 :查詢與排序-------二分查詢的遞迴解法排序遞迴