**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 子查詢 字...