六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

mysql子查詢容易介紹

[摘要]子查詢基本含義,就是在一個查詢語句(select語句)中的內部,某些位置,又出現的“查詢語句”。本文主要和大家分享mysql子查詢簡單介紹,希望能幫助到大家。例: 修改后: 如果將該“select ...

子查詢基本含義,就是在一個查詢語句(select語句)中的內部,某些位置,又出現的“查詢語句”。本文主要和大家分享mysql子查詢簡單介紹,希望能幫助到大家。

例:
這里寫圖片描述
修改后:
這里寫圖片描述

如果將該“select 5000”的子查詢語句,替換為“select出來所有商品的平均價”,就具有了現實含義。

  • 子查詢是為主查詢服務的

  • 都是子查詢獲得一定的結果數據之后,才去執行主查詢;

在形式上,可以有如下表達:

  • selelct 字段或表達式或子查詢 [as 別名] from 表名或鏈接結果或子查詢 where 字段或表達式或子查詢的條件判斷

即可以在這幾個位置出現子查詢(其中having其實也可以,因為它跟where是一樣含義);

子查詢,按位置(場合)分:

類型形式
作為主查詢的結果數據select c1,(select f1 from tab2) as f11 from tab1; #這里子查詢應該只有一個數據(一行一列,標量子查詢)
作為主查詢的條件數據select c1 from tab1 where c1 in (select f1 from tab2); #這里子查詢可以是多個數據(多行一列,列子查詢)
作為主查詢的來源數據select c1 from (select f1 as c1, f2 from tab2) as t2; #這里子查詢可以是任意查詢結果(表子查詢)

常見子查詢

比較運算符中的子查詢

形式:

  • 操作數 比較運算符 (標量子查詢);

說明:

  • 操作數,其實就是比較運算符的2個數據之一而已,通常就是一個字段名;

  select ....  from XXX where  id > 5;

例:

  • 找出最高價的商品;

select * from product  where  price = (select  max(price)  from  product );

使用in的子查詢

  • 以前用的in的用法:

XX  in  (值1,值2,值3,....);
  • 則in子查詢為:

XX  in  (列子查詢)

例:

  • 找出所有類別名稱中帶“電”這個字的所有商品;

select  *  from  product  where  protype_id  in( 
select  protype_id  from  product_type  where  protype_name  like ‘%電%’
);

使用any的子查詢

形式:

操作數 比較運算符 any  (列子查詢);

含義:

  • 當某個操作數(字段) 對于該列子查詢的其中任意一個值,滿足該比較運算符,則就算是滿足了條件;
    例:

select  *  from  tab1  where  id >  any  (select  f1  from  tab2);

使用all的子查詢:

形式:

操作數  比較運算符 all   (列子查詢);

含義:

  • 當某個操作數(字段) 對于該列子查詢的所有數據值,都滿足該比較運算符,才算滿足了條件;

例:

select  *  from  tab2  where  f1  >  all  ( select  id  from   tab1 );

使用some的子查詢

  • 一句話:some是any的同義詞。

使用exists的查詢

形式:

where  exists( 子查詢 )

含義:

  • 該子查詢如果“有數據”,則exists的結果是true,否則就是false

說明:

因為,exists子查詢的該含義,造成主查詢往往出現這樣的情形:要么全都取出,要么都不取出。如果局限于這個含義(使用情形),其基本就失去了它的現實使用意義。

所以:

實際應用中,該子查詢,往往都不是獨立的子查詢,而是會需要跟“主查詢”的數據源(表),建立某種關系——通常就是連接關系。建立的方式是“隱式的”,即沒有在代碼上體現關系,但卻在內部有其連接的“實質”。

  • 此隱式連接方式,通常就體現在子查詢中的where條件語句中,使用了主查詢表中的數據(字段);

例:

  • 查詢商品表中其類別名稱中帶“電”這個字的所有商品;
    這里寫圖片描述

結果就:
這里寫圖片描述

注意:
- 這種子查詢語句,沒法“獨立存在(獨立運行)”,而是必須跟主查詢一起使用;
- 其他子查詢,是可以獨立運行的,而且會得到一個運行的結果。
- 該子查詢中的條件,應該設定為跟主查詢的某個字段有一定的關聯性判斷,通常該判斷就是這兩個表的“本來該有的連接條件”

最后一個結論:

如果一個查詢需求,可以使用連接查詢的,也可以使用子查詢得到,則通常推薦使用連接插敘,效率歸更高。

相關推薦:

MySQL子查詢的詳細介紹

什么是mysql子查詢?如何利用子查詢進行過濾?

MySQL子查詢的優化

以上就是mysql子查詢簡單介紹的詳細內容,更多請關注php中文網其它相關文章!


學習教程快速掌握從入門到精通的SQL知識。




主站蜘蛛池模板: 日本一区二区免费高清视频 | 欧美一区二区aa大片 | 日韩午夜| 青青草精品在线视频 | 日韩一级在线播放免费观看 | 天堂在线观看中文字幕 | 亚洲激情久久 | 日韩欧美中文 | 色天天综合| 日韩在线a视频免费播放 | 一级欧美 | 日韩在线视频中文字幕 | 情欲天堂 | 日本在线视频二区 | 亚洲综合亚洲综合网成人 | 日本视频www色变态 日本视频a | 日韩国产在线观看 | 人体自拍亚洲综合图区 | 色天天综合色天天碰 | 一二三四视频中文字幕 | 日操夜操| 青青青视频免费线看 视频 青青青视频免费观看 | 亚洲国产成人久久综合区 | 日日夜夜国产 | 热99精品视频 | 亚洲精品国产综合久久一线 | 四虎永久在线 | 日韩精品视频免费观看 | 日日摸日日碰 | 亚洲欧洲日韩国产 | 青青草国产精品视频 | 中文字幕精品波多野结衣 | 欧美在线高清视频 | 欧美在线高清视频播放免费 | 天天天天天天操 | 日日摸日日操 | 天天干天天干天天干天天干天天干 | 亚洲欧美日韩图片 | 伊人久久中文大香线蕉综合 | 亚洲图区欧美 | 影音先锋国产 |