久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

mysql連接查詢(xún)、聯(lián)合查詢(xún)、子查詢(xún)?cè)砼c用法實(shí)例詳解

瀏覽:61日期:2023-10-15 15:40:43

本文實(shí)例講述了mysql連接查詢(xún)、聯(lián)合查詢(xún)、子查詢(xún)?cè)砼c用法。分享給大家供大家參考,具體如下:

本文內(nèi)容: 連接查詢(xún) 聯(lián)合查詢(xún) 子查詢(xún) from子查詢(xún) where子查詢(xún) exists子查詢(xún)

首發(fā)日期:2018-04-11

連接查詢(xún): 連接查詢(xún)就是將多個(gè)表聯(lián)合起來(lái)查詢(xún),連接查詢(xún)方式有內(nèi)連接、外連接、自然連接、交叉連接。連接查詢(xún)使得可以同時(shí)查看多張表中數(shù)據(jù)。 內(nèi)連接:有條件連接,多個(gè)表之間依據(jù)指定條件連接,匹配結(jié)果是保留符合匹配結(jié)果的記錄。 外連接:與內(nèi)連接不同的是不管匹配符不符合都保留,根據(jù)外連接連接方式來(lái)決定保留哪張表,比如保留左表的話(huà),那么左表無(wú)法匹配右表時(shí),保留左表數(shù)據(jù),然后置右表字段數(shù)據(jù)為null. 自然連接:有條件連接,自動(dòng)依據(jù)“同名字段”連接(多個(gè)同名字段就都作為條件)。 交叉連接cross join:無(wú)條件連接,將每一條記錄與另外一個(gè)表的每一條記錄連接(笛卡爾積),結(jié)果是字段數(shù)等于原來(lái)字段數(shù)之和,記錄數(shù)等于之前各個(gè)表記錄數(shù)之乘積。

-- 實(shí)驗(yàn)表結(jié)構(gòu)create table student(id int,name varchar(15),gender varchar(15),cid int);create table class(cid int,cname varchar(15));drop table student,class;-- 實(shí)驗(yàn)表數(shù)據(jù):insert into student values(1,'lilei','male',1),(2,'hanmeimei','male',2),(3,'jack','male',1),(4,'alice','female',4); --這里特意創(chuàng)建了一個(gè)class中沒(méi)有的4insert into class values(1,'linux'),(2,'python'),(3,'java'),(5,'html5');--這里特意創(chuàng)建了一個(gè)student中沒(méi)有的5select * from student;select * from class;

mysql連接查詢(xún)、聯(lián)合查詢(xún)、子查詢(xún)?cè)砼c用法實(shí)例詳解mysql連接查詢(xún)、聯(lián)合查詢(xún)、子查詢(xún)?cè)砼c用法實(shí)例詳解

內(nèi)連接: 從左表中取出每一條記錄,去右表中與所有的記錄進(jìn)行匹配,保留匹配成功的記錄,并將兩份記錄拼接。 語(yǔ)法:select 字段列表 from 左表 [inner] join 右表 on 左表.字段 = 右表.字段; 不使用on條件的時(shí)候,結(jié)果與交叉連接相同

-- 內(nèi)連接-- select * from student inner join class; --結(jié)果與交叉連接相同select * from student join class on student.cid = class.cid;select * from student inner join class on student.cid = class.cid; mysql連接查詢(xún)、聯(lián)合查詢(xún)、子查詢(xún)?cè)砼c用法實(shí)例詳解外連接: 與內(nèi)連接不同的是主表記錄不管匹配符不符合都保留,方式有左外連接、右外連接,左外連接是保留左表,右外連接是保留右表 語(yǔ)法: 左外連接:select 字段列表 from 左表 left join 右表 on 左表.字段 = 右表.字段; 右外連接:select 字段列表 from 左表 right join 右表 on 左表.字段 = 右表.字段;

select * from student left join class on student.cid = class.cid; mysql連接查詢(xún)、聯(lián)合查詢(xún)、子查詢(xún)?cè)砼c用法實(shí)例詳解

select * from student right join class on student.cid = class.cid; mysql連接查詢(xún)、聯(lián)合查詢(xún)、子查詢(xún)?cè)砼c用法實(shí)例詳解 自然連接: 自動(dòng)匹配連接條件,系統(tǒng)以字段名字作為匹配模式(同名字段就作為條件,多個(gè)同名字段就都作為條件) 自然內(nèi)連接:類(lèi)似內(nèi)連接,但不提供連接條件。 自然外連接:類(lèi)似外連接,但不提供連接條件。 語(yǔ)法: 自然內(nèi)連接:select 字段列表 from 表名 natural join 表名; 自然外連接:select 字段列表 from 表名 natural leftright join 表名;

select * from student natural join class;mysql連接查詢(xún)、聯(lián)合查詢(xún)、子查詢(xún)?cè)砼c用法實(shí)例詳解

select * from student natural left join class;mysql連接查詢(xún)、聯(lián)合查詢(xún)、子查詢(xún)?cè)砼c用法實(shí)例詳解 交叉連接: 將每一條記錄與另外一個(gè)表的每一條記錄連接 語(yǔ)法: select 字段列表 from 表名 cross join 表名;select 字段列表 from 表名 ,表名;

select * from student cross join class;select * from student,class; mysql連接查詢(xún)、聯(lián)合查詢(xún)、子查詢(xún)?cè)砼c用法實(shí)例詳解補(bǔ)充: 在多個(gè)表中,為了區(qū)分每個(gè)表,以及簡(jiǎn)便使用,可以使用表別名。

select * from student inner join class on student.cid = class.cid;-- 原本結(jié)果select id,name,gender,c.cid,cname from student as s inner join class as c on s.cid = c.cid;-- 使用表別名 可以多重連接。 外連接可以模擬自然連接,只需要將連接條件on 左表.字段 = 右表.字段變成'using 字段名'即可。 聯(lián)合查詢(xún): 聯(lián)合查詢(xún)是將多個(gè)查詢(xún)結(jié)果在記錄上進(jìn)行拼接。(相當(dāng)于將其他表的查詢(xún)記錄結(jié)果連接到第一個(gè)表的后面)【因?yàn)槭瞧唇樱?b>多個(gè)查詢(xún)結(jié)果的字段數(shù)必須相同】【拼接不在意數(shù)據(jù)類(lèi)型,比如第一個(gè)表的第一個(gè)字段是int,但后面的表中的varchar依然可以拼接到第一列中】 語(yǔ)法:select語(yǔ)句 union select語(yǔ)句…;

select name,gender from studentunion select * from class;-- 因?yàn)閏lass就兩個(gè)字段,所以第一個(gè)只選出兩個(gè)字段 mysql連接查詢(xún)、聯(lián)合查詢(xún)、子查詢(xún)?cè)砼c用法實(shí)例詳解補(bǔ)充: union可以有選項(xiàng),加在union 后面,all選項(xiàng)是不對(duì)相同去重,distinct是去重。 聯(lián)合查詢(xún)一般用來(lái)處理同一表中以不同方法顯示不同數(shù)據(jù)。(比如,想將學(xué)生各科成績(jī)表中的兩科(這里假設(shè)為python 跟linux)同時(shí)查詢(xún)出來(lái)) union和order by同時(shí)使用報(bào)錯(cuò)時(shí) 如果你想針對(duì)聯(lián)合查詢(xún)中的某個(gè)查詢(xún)結(jié)果排序,需要將這個(gè)select語(yǔ)句用括號(hào)括起來(lái)。【另外,由于聯(lián)合查詢(xún)的拼接機(jī)制,需要在order by 后面加上limit子句才行,limit的數(shù)量可以是一個(gè)很大的值。】如果是針對(duì)最終的聯(lián)合查詢(xún)結(jié)果,就在最后一個(gè)select語(yǔ)句中使用order by 【建議給最后一個(gè)字段加上括號(hào),再加ordery by,使用情況是有同名字段】 子查詢(xún): 子查詢(xún)是嵌套在查詢(xún)語(yǔ)句中的查詢(xún)。 子查詢(xún)按照出現(xiàn)的位置可以分為三類(lèi): from子查詢(xún):子查詢(xún)跟在from之后的;一般用在“先查出二維表,再處理”的情況。 比如:

-- 這是一個(gè)無(wú)意義的例子。僅為舉例使用select cid,cname from (select * from class where cname='python') as c; where子查詢(xún):子查詢(xún)跟在where條件中;一般用在“先查詢(xún)出指定條件再查詢(xún)”的情況 比如:

select * from student where cid=(select cid from class where cname='python'); exist子查詢(xún):子查詢(xún)?cè)趀xist語(yǔ)句里面;一般用作“存在才做”的情況 比如:

-- 這是一個(gè)如果學(xué)生沒(méi)有選擇cid=1的課,那么不輸出對(duì)應(yīng)課程信息的例子select * from class where exists(select * from student where cid=1) and cid=1; 事實(shí)上,有些人認(rèn)為union之后跟著的也是子查詢(xún),不過(guò)這里不把這些當(dāng)作子查詢(xún),只把上面幾個(gè)與“查詢(xún)”非常緊密相關(guān)的當(dāng)作子查詢(xún)。 補(bǔ)充: 事實(shí)上,還可以根據(jù)結(jié)果來(lái)分類(lèi)子查詢(xún): 標(biāo)量子查詢(xún),子查詢(xún)得到的結(jié)果是一行一列,情況一般發(fā)生于where子查詢(xún)只查詢(xún)出一行一列的情況。列子查詢(xún),子查詢(xún)得到的結(jié)果是一列多行,情況一般發(fā)生于where子查詢(xún)查詢(xún)出一列多行的情況。行子查詢(xún),子查詢(xún)得到的結(jié)果是多列一行(或者多行多列) ,情況一般發(fā)生在where子查詢(xún)查詢(xún)出多列一行的情況。表子查詢(xún),子查詢(xún)得到的結(jié)果是多行多列 ,情況一般發(fā)生在from子查詢(xún)中 where子查詢(xún)中有時(shí)候還使用一些其他關(guān)鍵字,如any,all,some,但對(duì)=來(lái)說(shuō),=基本可以實(shí)現(xiàn)他們的功能了。

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《MySQL查詢(xún)技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過(guò)程技巧大全》、《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總》

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。

標(biāo)簽: MySQL 數(shù)據(jù)庫(kù)
相關(guān)文章:
主站蜘蛛池模板: 精品日韩在线 | 先锋影音在线观看 | 九一视频在线播放 | 亚洲综合一区二区 | 欧美一级在线观看 | 亚洲综合无码一区二区 | 中文字幕在线免费 | 国产v日产∨综合v精品视频 | 亚洲视频 欧美视频 | 欧美一级爆毛片 | 午夜草民福利电影 | 91在线精品一区二区 | 亚洲成人一区 | 国产一区二区在线免费 | 国产aⅴ| 成人精品视频一区二区三区 | 欧美一区二区三区男人的天堂 | 嫩呦国产一区二区三区av | 日韩在线资源 | av动漫一区二区 | 亚洲精品一区二区三区精华液 | www嫩草 | 欧美日韩一区二区中文字幕 | 国产网址 | 亚洲一区中文字幕在线观看 | 亚洲小视频网站 | 久久久久国产一区二区三区四区 | 一级视频在线免费观看 | 国产69久久 | 国产一级一级国产 | 狠狠干网站 | 亚洲精品久久久久久久久久久 | 日韩在线视频中文字幕 | 免费国产一区二区 | 欧美精品免费在线 | 在线看av网址 | www婷婷| 国产一区二区精品 | 国产精品一区二区三区四区 | 国产一区二区三区高清 | 色鲁97精品国产亚洲 |