人妻少妇中文字幕二区,久久在线视频精品 http://www.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://www.7kwoool.com/blog/view-69.html http://www.7kwoool.com/blog/view-69.html#comments Sat, 13 Aug 2011 17:00:34 +0000 lin http://www.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://www.7kwoool.com/blog/view-69.html/feed 337
亚洲精品在线啪啪啪-91精品国产综合久久久婷婷-亚洲男同性恋免费网站-欧亚洲视频在线观看免费 | 蜜桃高清成人综合网-日本久久精品三级视频-老鸭窝91久久久久精品色噜噜-2019中文字幕视频网站 | 成人精品一区二区免费电影-欧美精美视频一区二区三区四区-欧美日韩国产熟熟女-国产欧美一区二区性色超碰 | 99超碰人妻精品一二三-亚洲一区二区三区一级在线-中文字幕熟女激情-欧美日韩一级作a一区二区 | 六月丁香婷婷激情网-天天日天天草天天射天天干-久久久免费视频观看-国产又粗又黄又爽又硬一区二区 | 素人搭讪按摩中出中文字幕在线观看-国产av毛片一区二区三区麻豆-蜜臀久久精品久久久久酒店-天天干天天操天天干天天日 | av 专区一区二区-91久久久久三区四区-久久精品日日躁夜夜躁-一本色道久久99精品综合蜜臀 | 九九热在线精品播放-久久精品人妻一区二区三区av-国产日韩一区二区三区在线观看-久久亚洲精品中文字幕内容 | 精品人妻乱码av一区二区-亚洲一区二区三区高潮喷水-国产一区二区三区四五区在线视频-超碰免费在线公开97 | av在线手机观看一区二区三区-久久久久国产人妻互换-久久精品少妇黄色片-久久久东京热av | 制服 中文 人妻 字幕精品-日韩欧美人妻中文字幕电影-久久麻豆精亚洲av品国产蜜臀-日韩 国产 亚洲av | 激情五月婷婷色电影-久久超级碰中文字幕-日韩一卡二卡一区av-性高潮久久久久久久久免费 | 国产精品日韩欧美亚洲另类-天天射天天操天天搞-国产精品人妻人伦a62v麻豆-91久久九九亚洲一区二区 | 国产精品久久久久久久久一级-国产精品久久久久久久久三级-日韩欧美亚洲电影在线观看-人妻精品一区二区三区aⅴ | 久久综合中文蜜桃av-亚洲综合婷婷六月天图片-欧美日韩亚洲一区二区搜索-亚洲精品少妇30p | 国产精品久久久久精品毛片-青青久久国产中文字幕-国产亚洲久久久久9999-成人av 在线观看精品 | 精品人妻久久久久久久久久久-麻豆国产十四部阿宾第九集-亚洲国产欧美影视在线免费观看-日韩欧美人妻中文字 | 久久96国产精品久久-人妻系列中文字幕在线一区-欧美人妻一区二区三区四区-亚洲欧美日韩女第一区 精选一区二区三区国产-日韩人妻每日中出一区二区三区-老色鬼久久亚洲av综合0-国产av久久人人澡人人 | 91人妻精品国产麻豆-日韩av午夜免费电影-日韩精品资源在线观看,-欧美日韩激情图片亚洲 | 久久999热精品视频-欧美日韩有码视频综合-久久视频这里有精品33-成人熟女视频在线观看 | 日韩丝袜中文字幕在线观看-激情五月天亚洲精品-欧美√a天堂va亚洲va-久久大香蕉一区二区三区 | 国产日韩欧美一区二区啪啪啪-久久精品国产亚洲av色哟哟-九九精品99久久久-久久久久成人精品免费 国产精品 熟女人妻-久久99视频只有精品-国产成人欧美一区二区三区八-国产乱子伦无套一区二区三区 | 五月 激情 综合网-久久亚洲人妻一区二区-一级a性色生活片久久-日韩国产中文视频免费观看 | 婷婷激情五月天一区二区三区-国产欧美激情一区二区三区-国精产品一区一区三区在线视频-久久久久久a亚洲欧洲av大片 | 日韩偷拍15p-日韩成人av电影网站-人妻中出中文字幕一区二区-大香蕉伊网一区二区三区 | 国产精品成人免费视频99-99久久精品免费观看视频-97超碰天天摸天天碰天天爽-日韩免费视频最新 | 中文字幕日本久久高清-蜜桃久久久久久久久久久久久-亚洲欧美综合第一页-女同另类欧美激情一区二区三区 | 97人妻精品一区二区三区-一区二区三四区免费观看熟女视频-蜜乳av一区二区三-日韩精品卡通动漫网站 | 国产熟女乱免费一区二区-亚洲精品字幕在线观看-91一区二区三区四五-欧美 日韩 综合 好大 | 久久99热精品99久久香蕉-久久熟妇乱又伦一区二区-91激情综合网激情五月天-国产精品久久久久久久密密 | 99久久精品免费网-亚洲成女一区二区三区偷拍-av少妇一区二区人妻-产国av一区二区久久久久 | 成人国产精品蜜柚视频-久久久人妻精品一区二区三区四区-麻豆avapp在线观看-91久久激情综合网 | 免费中文字幕视频在线播放-麻豆国产一二三专区在线观看-久久精品国产亚洲麻豆-日韩av中文字幕人妻一二区 | 制服 中文 人妻 字幕精品-日韩欧美人妻中文字幕电影-久久麻豆精亚洲av品国产蜜臀-日韩 国产 亚洲av | 亚洲av综合aⅴ国产av中文-久久av秘一区二区三水牛-亚洲熟妇综合久久久久久-av中文字幕在线观看免费观看 | 九九久久亚洲av东方伊甸园-国产av一二三四区-91成人 在线观看喷潮红桃-天天日天天射天天干天天舔 | 麻豆一区二区三区四-超碰大香蕉手机在线-av天堂偷拍综合网-成人免费午夜网址 | 天天操天天日天天谢天天插-蜜臀av午夜一区二区三区-蜜桃久久久亚洲精品成人在线看-欧美激情人妻熟女 | 国产精品麻豆a在线播放-日韩成年网站免费观看-久久超碰香蕉一区-日韩xxx在线视频 | 五月 激情 综合网-久久亚洲人妻一区二区-一级a性色生活片久久-日韩国产中文视频免费观看 | 精品99这里观看视频-97久久超碰日韩精品-av午夜精品人妻系列网站-欧美人妻一区二区三区三州 |