程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL子查詢的幾種罕見情勢引見

MySQL子查詢的幾種罕見情勢引見

編輯:MySQL綜合教程

MySQL子查詢的幾種罕見情勢引見。本站提示廣大學習愛好者:(MySQL子查詢的幾種罕見情勢引見)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL子查詢的幾種罕見情勢引見正文


mysql子查詢的幾種罕見寫法:

select * from xxx where col = [any|all](select * from xxxx);  

該句法可分為加症結詞和不加症結詞的寫法,當不加症結詞的時刻,子查詢語句前往的是一個團圓值(留意是一個),查詢語句將以子查詢語句的成果作為本身 where子句的前提停止查詢,該句法可以在子查詢語句前參加any、all、some等症結字,此時子查詢語句前往的是一組團圓值。any則表現,查詢語句是以子查詢前往的值作為一個規模,在此值規模內停止查詢,其與in症結字相像;all症結不太好懂得,表現起全體婚配啥的。

select * from xxx where col in (select * from xxxx);

該 句法相當的清楚明了,就是查詢語句的where子句是以子查詢語句的成果作為其規模的,與上一種語法的any類似;

select row(value1,value2.....) = [any](selectcol1,col2..);

該語句的履行本質是:子查詢語句的履行所得的成果與查詢的成果集婚配,若能找到婚配的前往真,不然前往假,而且雙方的成果集都是一組團圓值;

select  .... where col = [not] exists (select......);

該語句比擬糟糕,其履行是如許的:當子查詢停止操作,有前往成果的時刻,該語句才會履行,並且有若干個成果,語句就履行幾回;

select .... from (select .....) as name where ......

該句法,在日常平凡用的比擬少,並且其實不好懂得。實際上是這麼一回事,經由過程子查詢履行的成果來結構一張新的表(這個表是一張衍生數據表,是一張虛擬的表),其用來作為主句的查詢的對象,該句法功效異常壯大,在一些龐雜的查詢中會常常用到。

子查詢固然挺便利,但其有很多缺陷,其不支撐limit,並且經試驗證實其履行效力相當不睬想,在普通的情形下,照樣不推舉是用子查詢。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved