本篇文章給大家?guī)?lái)了關(guān)于mysql的相關(guān)知識(shí),其中主要介紹了數(shù)據(jù)庫(kù)子查詢語(yǔ)法規(guī)則的相關(guān)問(wèn)題,子查詢是在查詢語(yǔ)句里面再嵌套一個(gè)查詢,這是因?yàn)槲覀冊(cè)谔崛?shù)據(jù)的時(shí)候有很多不知道的數(shù)據(jù)產(chǎn)生了依賴(lài)關(guān)系;下面一起來(lái)看一下,希望對(duì)大家有幫助。
推薦學(xué)習(xí):mysql視頻教程
子查詢是在查詢語(yǔ)句里面再嵌套一個(gè)查詢,這是因?yàn)槲覀冊(cè)谔崛?shù)據(jù)的時(shí)候有很多不知道的數(shù)據(jù)產(chǎn)生了依賴(lài)關(guān)系。此時(shí)我們就需要先查詢一組數(shù)據(jù)的結(jié)果集,然后將這個(gè)結(jié)果集作用為下一個(gè)查詢的對(duì)象。在 “表連接的章節(jié)”,我們?cè)f(shuō)過(guò)子查詢的效率低下的問(wèn)題,其實(shí)并不是所有的子查詢效率都是低下的,“WHERE” 子查詢?cè)谄ヅ溆涗浀臅r(shí)候要反復(fù)執(zhí)行,這是不推薦使用的;但是如果將查詢結(jié)果集當(dāng)做一張表來(lái)使用,與其他的表做一個(gè)連接,這就是 “FROM” 子句的子查詢了,這種子查詢的方式,還是比較推薦使用的。
詳細(xì)的說(shuō),子查詢分為 “單行子查詢”、“多行子查詢”、"WHERE"子查詢、“FROM” 子查詢 和 “SELECT” 子查詢;這些都是該章節(jié)我們需要學(xué)習(xí)的內(nèi)容。
子查詢簡(jiǎn)介
子查詢是一種查詢語(yǔ)句中再嵌套一個(gè)查詢的語(yǔ)句
普通查詢語(yǔ)句分為 “SELECT” 子查詢、“FROM” 子查詢、“WHERE"子查詢;(重點(diǎn)推薦使用 " ‘FROM’ 子查詢”)
子查詢示例如下:
查詢底薪超過(guò)公司平均底薪的員工信息。(之前我們使用過(guò)表連接的方式做個(gè)這個(gè)案例,這里來(lái)看一下如何通過(guò)子查詢的方式來(lái)實(shí)現(xiàn)。)
SELECT empno, ename, sal FROM t_emp WHERE sal >= (SELECT AVG(sal) FROM t_emp); -- 正常情況下,將聚合函數(shù)作為 WHERE 子句的條件是不可以的,但是這里利用子查詢與聚合函數(shù)先將平均底薪查詢出來(lái),這就變成具體的數(shù)據(jù)了 -- 這種情況下,作為 WHERE 子句的條件,就可以被使用了