MySQL資料庫 使用子查詢

2021-08-13 18:58:20 字數 804 閱讀 9111

**selcet語句是sql的查詢。迄今為止我們所看到的所有selcet都是簡單查詢,即從單個資料庫表中檢索資料的單條語句。

sql還允許建立子查詢,就是巢狀在其他查詢內的查詢!**

part 1 使用子查詢進行過濾

select coder.code_id from coder where id in (select coder.id

from coder where coder.name = 『huang』);

上面的例子就是使用了子查詢 我們從內往外來說,我們的目的是篩選出 name 都為 huang 的行 的code_id:

(1) 我們先把 name = 『huang』 的id 篩選出來

(2) 然後根據id 我們 把他們的 code_id 篩選出來

2.顯而易見,在where子句中使用子查詢能夠編寫出功能很強的並且非常靈活的sql語句。對於能巢狀的子查詢數目,並沒有限制

但是在實際使用中不要太多,這會限制系統的效能。

3.子查詢 一般 和 in 操作符結合使用 。

part 2 作為計算字段使用子查詢

現在我們考慮如下操作:

(1)從表中檢索出所有程式設計師使用者列表

(2)對於所有程式設計師使用者,統計他們在git表中的作品數目

select git.state,(select count(*) from git,coder where git.name = coder.name) as lev from git;

資料庫 子查詢《mysql子查詢的弱點》

mysql的子查詢的優化不是很友好,一直有受業界批評比較多.關於mysql的查詢有兩個知識點 1.第乙個為mysql在處理所有的查詢的時候都強行轉換為聯接來執行,將每個查詢包括多表中關聯匹配,關聯 子查詢,union,甚至單錶的的查詢都處理為聯接,接著mysql執行聯接,把每個聯接在處理為乙個巢狀迴...

mysql資料庫 子查詢(9)

mysql資料庫 子查詢 把乙個查詢巢狀在另乙個查詢當中的方式,返回結果是根據兩個查詢共同作用的結果。子查詢語法格式 select filed,filed from tbname where 例如 select frome tbname in select frome tbname not in s...

資料庫子查詢

概念 當乙個查詢是另乙個查詢的條件時,這個查詢稱之為子查詢 內層查詢 主要有以下三種表現形式 1.select 列 from 子查詢 2.select 列 from 表 where 列 比較運算子 子查詢 3.select 列 from 表 left join 子查詢 left join 子查詢 字...