人妻少妇中文字幕二区,久久在线视频精品 http://m.7kwoool.com/blog 中山php|最優(yōu)網(wǎng)絡(luò) Mon, 13 May 2013 04:56:43 +0000 en hourly 1 http://wordpress.org/?v=3.1.4 Mysql 子查詢的用法 http://m.7kwoool.com/blog/view-69.html http://m.7kwoool.com/blog/view-69.html#comments Sat, 13 Aug 2011 17:00:34 +0000 lin http://m.7kwoool.com/blog/?p=69 一,子選擇基本用法
1,子選擇的定義
子迭擇允許把一個(gè)查詢嵌套在另一個(gè)查詢當(dāng)中。比如說:一個(gè)考試記分項(xiàng)目把考試事件分為考試(T)和測(cè)驗(yàn)(Q)兩種情形。下面這個(gè)查詢就能只找出學(xué)生們的考試成績(jī)
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(cè)驗(yàn)成績(jī),就應(yīng)該使用一個(gè)內(nèi)層查詢先找到這一天的測(cè)驗(yàn)的事件號(hào),然后在外層查詢語句中用這個(gè)事件號(hào)在成績(jī)表里面找到學(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è)美國(guó)總統(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 * from president where birht=(select min(birth) from presidnet);
? exists 和 not exists 子選擇
上一種用法是把查間結(jié)果由內(nèi)層傳向外層、本類用法則相反,把外層查詢的結(jié)果傳遞給內(nèi)層??赐獠坎樵兊慕Y(jié)果是否滿足內(nèi)部查間的匹配徑件。這種"由外到內(nèi)"的子迭擇用法非常適合用來檢索某個(gè)數(shù)據(jù)表在另外一個(gè)數(shù)據(jù)表里面有設(shè)有匹配的記錄

數(shù)據(jù)表t1 數(shù)據(jù)表t2
I1 C1 I2 C2
1
2
3 A

C 2
3
4 C

A
先找兩個(gè)表內(nèi)都存在的數(shù)據(jù)
select i1 from t1 where exists(select * from t2 where t1.i1=t2.i2);
再找t1表內(nèi)存在,t2表內(nèi)不存在的數(shù)據(jù)
select i1 form t1 where not exists(select * from t2 where t1.i1=t2.i2);

需要注意:在這兩種形式的子選擇里,內(nèi)層查詢中的星號(hào)代表的是外層查詢的輸出結(jié)果。內(nèi)層查詢沒有必要列出有關(guān)數(shù)據(jù)列的名字,田為內(nèi)層查詢關(guān)心的是外層查詢的結(jié)果有多少行。希望大家能夠理解這一點(diǎn)
? in 和not in 子選擇
在這種子選擇里面,內(nèi)層查詢語句應(yīng)該僅僅返回一個(gè)數(shù)據(jù)列,這個(gè)數(shù)據(jù)列里的值將由外層查詢語句中的比較操作來進(jìn)行求值。還是以上題為例
先找兩個(gè)表內(nèi)都存在的數(shù)據(jù)
select i1 from t1 where i1 in (select i2 from t2);
再找t1表內(nèi)存在,t2表內(nèi)不存在的數(shù)據(jù)
select i1 form t1 where i1 not in (select i2 from t2);
好象這種語句更容易讓人理解,再來個(gè)例子
比如你想找到所有居住在A和B的學(xué)生。
select * from student where state in('A','B')
二, 把子選擇查詢改寫為關(guān)聯(lián)查詢的方法。
1,匹配型子選擇查詢的改寫
下例從score數(shù)據(jù)表里面把學(xué)生們?cè)诳荚囀录═)中的成績(jī)(不包括測(cè)驗(yàn)成績(jī)?。┎樵兂鰜怼?br /> Select * from score where event_id in (select event_id from event where type='T');
可見,內(nèi)層查詢找出所有的考試事件,外層查詢?cè)倮眠@些考試事件搞到學(xué)生們的成績(jī)。
這個(gè)子查詢可以被改寫為一個(gè)簡(jiǎn)單的關(guān)聯(lián)查詢:
Select score.* from score, event where score.event_id=event.event_id and event.event_id='T';
下例可以用來找出所有女學(xué)生的成績(jī)。
Select * from score where student_id in (select student_id form student where sex = 'f');
可以把它轉(zhuǎn)換成一個(gè)如下所示的關(guān)聯(lián)查詢:
Select * from score
Where student _id =student.student_id and student.sex ='f';
把匹配型子選擇查詢改寫為一個(gè)關(guān)聯(lián)查詢是有規(guī)律可循的。下面這種形式的子選擇查詢:
Select * from tablel
Where column1 in (select column2a from table2 where column2b = value);
可以轉(zhuǎn)換為一個(gè)如下所示的關(guān)聯(lián)查詢:
Select tablel. * from tablel,table2
Where table.column1 = table2.column2a and table2.column2b = value;
(2)非匹配(即缺失)型子選擇查詢的改寫
子選擇查詢的另一種常見用途是查找在某個(gè)數(shù)據(jù)表里有、但在另一個(gè)數(shù)據(jù)表里卻沒有的東西。正如前面看到的那樣,這種"在某個(gè)數(shù)據(jù)表里有、在另一個(gè)數(shù)據(jù)表里沒有"的說法通常都暗示著可以用一個(gè)left join 來解決這個(gè)問題。請(qǐng)看下面這個(gè)子選擇查詢,它可以把沒有出現(xiàn)在absence數(shù)據(jù)表里的學(xué)生(也就是那些從未缺過勤的學(xué)生)給查出來:
Select * from student
Where student_id not in (select student_id from absence);
這個(gè)子選擇查詢可以改寫如下所示的left join 查詢:
Select student. *
From student left join absence on student.student_id =absence.student_id
Where absence.student_id is null;
把非匹配型子選擇查詢改寫為關(guān)聯(lián)查詢是有規(guī)律可循的。下面這種形式的子選擇查詢:
Select * from tablel
Where column1 not in (select column2 from table2);
可以轉(zhuǎn)換為一個(gè)如下所示的關(guān)聯(lián)查詢:
Select tablel . *
From tablel left join table2 on tablel.column1=table2.column2
Where table2.column2 is null;
注意:這種改寫要求數(shù)據(jù)列table2.column2聲明為not null。

]]>
http://m.7kwoool.com/blog/view-69.html/feed 337
视色av毛片一区二区三区-人妻中文字幕av一区二区三区-激情五月开心五月在线视频-欧美激情一区二区三区p站 | 成人午夜在线视频播放-91精品一区二区三区蜜桃的特点-淫ひかり人妻中文字幕-久久精品国产亚洲av熟女 | 99超碰人妻精品一二三-亚洲一区二区三区一级在线-中文字幕熟女激情-欧美日韩一级作a一区二区 | 77777亚洲熟妇av在线-久久久人成影片一区二区三区-国产人妻一区二区三区在线播-97超碰伊人中文字幕网 | 国产成人精品av大片-日韩精品久久美熟妇-精品中文久久久-国产精品999国产精品 | 久久99视频免费在线观看-国产精品视频网站在线观看-国产999精品久久久-久久久久精品国产色哟哟 | 人妻av一区二区三区入口-99一区二区三区精品人妻-99亚洲精品久久久蜜桃-91久久国产久久91精品 | 激情久久综合五月天-日韩少妇一级黄色片-日韩在线免费激情视频-人妻中文字幕高清在线播放5 | 久久精品人妻系列av-日韩人妻视频在线中文字幕观看-超碰97久久人妻-18禁久久久久久久 | 四季av人妻一区二区三区-精品视频在线观看你懂的一区-久久久久亚洲av在线-国产又黄又刺激视频网站 | 日韩在线观看免费网-免费中文字幕一区二区-中文日韩一区二区三区四区五区-日韩激情欧美在线,激情网 | 国产一区二区三区四区五区在线视频-内射亚洲少妇逼逼-欧美精品乱码久久久久久,欧-精品人妻少妇一区二区三区不卡 | 成人av精品在线观看com-国产超碰人人做人人爱va九月-色婷婷之中文字幕-久久人妻丝袜高跟精品无内丝袜 | 人人妻人人藻人人爽欧美一区-99热精品免费国产-国产精品999永久在线观看-欧美日韩精品久久久久久久 | 国产精品99久久久久久www-麻豆郭童童在线播放-亚洲人妻高清一区二区三区-97国产免费电影网 | 九九re热爱视频免费精品-精品视频内1区2区在线观看-成人免费午夜在线观看-91人妻一区二区三区中文字幕 | 国产精品久久久久久久久香蕉-大香蕉超碰av在线-美日韩有吗视频-日本精品人妻一区二区三区视频 | 97碰碰视频人人干-91大神在线视频免费观看-国产成人精品久久久久欧美-日韩不卡高清av影院 | 内射韩国人妻中文字幕-91麻豆亚洲国产成人久久-一区二区三区国产欧美日韩-日韩中文字幕视频免费 成人va在线一区二区不卡-91天天综合日韩丝袜蜜桃香蕉-免费欧美一区二区三区四区-色噜噜噜噜噜噜精品在线观看 | 99999精品视频在线观看-精品人妻伦一二三区-欧美日韩一中文字不卡-操老女人老熟女老妇女 | 亚洲中文字幕乱码a-超碰在线男人免费祝频-精品人妻熟女一区二区三区免费看-国产av国产av一区二区三区 | 婷婷麻豆国产在线观看-国产精品vⅰdeoxxxx国产-成人区精品一区二区婷婷-中文字幕偷乱视频在线 | 色婷婷丁香综合激情-欧美老熟妇另类猛交-亚洲av日韩av佐山爱av-日韩激情卡一卡二卡三 | 国产精品久久久久久亚洲精品-久久精品国产91麻豆精品-国内精品99久久免费看-丰满人妻少妇久久久久 | 六月婷婷激情综合网-精品区二区三区四区免费观看-久久韩国三级伦理77-蜜臀av性久久久久蜜臀字幕版 | 日韩亚洲狂热av-在线人妻区一区二区三区-91久久久久久亚洲精品蜜桃-日韩人妻熟女中文字幕视频 | 国产成人大片免费看-久久久久久久精品国裸体舞-丁香五精品蜜臀久久久久99网站-777色婷婷av一区二 | 99热,这里只有精品免费-国产精品久久久久7777婷婷-成人av在线一区二区-男人操女人逼穴网站 | 日韩免费激情网站-国产成人a一片免费看-av中文字幕在线观看一区二区三区-777久久久精品一区二区三区 | 君岛美绪精品久久久久久人妻-91国产专区一区二区-久久综合视频五月天-亚洲av久久久综合 | 成人午夜人妻一区二区三区视频-日本精品动漫一区二区三区-久久久久精品国产亚洲av麻豆-日韩av在线高清免费观看 | 美女中出视频在线观看-国产精品毛片久久久久久久久-18禁国产美女奶头久久久久久-精品久久久久久久久久蜜桃 | 亚洲欧美日韩成人-人人干人人插人人妻-国产69精品久久久久毛片-日韩一区二区三区四区欧美 | 久久伊人综合久久伊人-日韩欧美成人动画-超碰在线免费福利人妻-日韩高清av在线观看 | 久久久亚洲美女高潮-97超免费公开视频-在线亚洲av日韩美av资源网站-熟女 人妻 一区 二区 三区 | 精品国产18久久久久久二百-午夜鲁丝一区二区鲁丝久久久-91午夜精品一区二区在线观看-蜜臀久久99精品久久宅男 | 国精产品一区一区三区在线播放-av成人资源亚洲精品-久久国产亚洲精品麻豆-久久久久亚洲精品 | 久久re视频在线免费观看-第四色婷婷在线观看视频-久久天天操狠狠操夜夜av-成人黄色大片在线播放 91综合精品久久久久久-五月欧美一区二区-久久久少妇人妻91久久久久-国产麻豆大片在线观看 | 日韩老熟妇一区二区三区-国产欧美综合系列在-久久视频这里有精品99-麻豆精品在线一区二区三区四区 | 热99在线播放视频-国产69式一区二区三区四区五区-国产精品99久久久久久.....-日韩一级大片在线播放 | 亚洲小说区人妻大香蕉-日韩在线精品免费观看-精品人妻一区二区三区中文久久-日韩美女大片在线看片 |