中山php|最優(yōu)網(wǎng)絡(luò) :中山做網(wǎng)站 中山php建站
最優(yōu)良人
Posts Tagged With: 子查詢
Mysql 子查詢的用法
2011/08/14 at 01:00 » Comments (337)
一,子選擇基本用法 1,子選擇的定義 子迭擇允許把一個(gè)查詢嵌套在另一個(gè)查詢當(dāng)中。比如說:一個(gè)考試記分項(xiàng)目把考試事件分為考試(T)和測驗(yàn)(Q)兩種情形。下面這個(gè)查詢就能只找出學(xué)生們的考試成績 select * from score where event_id in (select event_id from event where type='T'); 2,子選擇的用法(3種) ? 用子選擇來生成一個(gè)參考值 在這種情況下,用內(nèi)層的查詢語句來檢索出一個(gè)數(shù)據(jù)值,然后把這個(gè)數(shù)據(jù)值用在外層查詢語句的比較操作中。比如說,如果要查詢表中學(xué)生們?cè)谀骋惶斓臏y驗(yàn)成績,就應(yīng)該使用一個(gè)內(nèi)層查詢先找到這一天的測驗(yàn)的事件號(hào),然后在外層查詢語句中用這個(gè)事件號(hào)在成績表里面找到學(xué)生們的分?jǐn)?shù)記錄。具體語句為: select * from score where id=(select event_id from event where date='2002-03-21' and type='Q'); 需要注意的是:在應(yīng)用這種內(nèi)層查詢的結(jié)果主要是用來進(jìn)行比較操作的分法時(shí),內(nèi)層查詢應(yīng)該只有一個(gè)輸出結(jié)果才對(duì)。看例子,如果想知道哪個(gè)美國總統(tǒng)的生日最小,構(gòu)造下列查詢 select * from president where birth=min(birth) 這個(gè)查詢是錯(cuò)的!因?yàn)镸ySQL不允許在子句里面使用統(tǒng)計(jì)函數(shù)!min()函數(shù)應(yīng)該有一個(gè)確定的參數(shù)才能工作!所以我們改用子選擇: select ...more »