亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > mysql連接查詢、聯合查詢、子查詢原理與用法實例詳解

mysql連接查詢、聯合查詢、子查詢原理與用法實例詳解

熱門標簽:南寧外呼系統招商 400電話到哪辦理優惠 上海市三維地圖標注 怎么更改高德地圖標注 鄭州網絡外呼系統價錢 電話機器人是電腦呼號嗎 博樂電銷機器人 機器人打電銷電話 云南大數據外呼系統

本文實例講述了mysql連接查詢、聯合查詢、子查詢原理與用法。分享給大家供大家參考,具體如下:

本文內容:

  • 連接查詢
  • 聯合查詢
  • 子查詢
    • from子查詢
    • where子查詢
    • exists子查詢

首發日期:2018-04-11


連接查詢:

  • 連接查詢就是將多個表聯合起來查詢,連接查詢方式有內連接、外連接、自然連接、交叉連接。連接查詢使得可以同時查看多張表中數據。
    • 內連接:有條件連接,多個表之間依據指定條件連接,匹配結果是保留符合匹配結果的記錄。
    • 外連接:與內連接不同的是不管匹配符不符合都保留,根據外連接連接方式來決定保留哪張表,比如保留左表的話,那么左表無法匹配右表時,保留左表數據,然后置右表字段數據為null.
    • 自然連接:有條件連接,自動依據“同名字段”連接(多個同名字段就都作為條件)。
    • 交叉連接cross join:無條件連接,將每一條記錄與另外一個表的每一條記錄連接(笛卡爾積),結果是字段數等于原來字段數之和,記錄數等于之前各個表記錄數之乘積。
-- 實驗表結構
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;
-- 實驗表數據:
insert into student values(1,"lilei","male",1),(2,"hanmeimei","male",2),(3,"jack","male",1),(4,"alice","female",4); --這里特意創建了一個class中沒有的4
insert into class values(1,"linux"),(2,"python"),(3,"java"),(5,"html5");--這里特意創建了一個student中沒有的5
select * from student;
select * from class;

內連接:

  • 從左表中取出每一條記錄,去右表中與所有的記錄進行匹配,保留匹配成功的記錄,并將兩份記錄拼接。
  • 語法:select 字段列表 from 左表 [inner] join 右表 on 左表.字段 = 右表.字段;
    • 不使用on條件的時候,結果與交叉連接相同
    -- 內連接
    -- select * from student inner join class; --結果與交叉連接相同
    select * from student join class on student.cid = class.cid;
    select * from student inner join class on student.cid = class.cid;

外連接:

  • 與內連接不同的是主表記錄不管匹配符不符合都保留,方式有左外連接、右外連接,左外連接是保留左表,右外連接是保留右表
  • 語法:
    • 左外連接:select 字段列表 from 左表 left join 右表 on 左表.字段 = 右表.字段;
    • 右外連接:select 字段列表 from 左表 right join 右表 on 左表.字段 = 右表.字段;
    select * from student left join class on student.cid = class.cid;
    select * from student right join class on student.cid = class.cid;

自然連接:

  • 自動匹配連接條件,系統以字段名字作為匹配模式(同名字段就作為條件,多個同名字段就都作為條件)
    • 自然內連接:類似內連接,但不提供連接條件。
    • 自然外連接:類似外連接,但不提供連接條件。
  • 語法:
    • 自然內連接:select 字段列表 from 表名 natural join 表名;
    • 自然外連接:select 字段列表 from 表名 natural left\right join 表名;
    select * from student natural join class;
    select * from student natural left join class;

交叉連接:

  • 將每一條記錄與另外一個表的每一條記錄連接
  • 語法:
    • select 字段列表 from 表名 cross join 表名;
    • select 字段列表 from 表名 ,表名;
    select * from student cross join class;
    select * from student,class;

補充:

  • 在多個表中,為了區分每個表,以及簡便使用,可以使用表別名。
      select * from student inner join class on student.cid = class.cid;-- 原本結果
      select id,name,gender,c.cid,cname from student as s inner join class as c on s.cid = c.cid;-- 使用表別名
  • 可以多重連接。
  • 外連接可以模擬自然連接,只需要將連接條件on 左表.字段 = 右表.字段變成"using 字段名"即可。


聯合查詢:

  • 聯合查詢是將多個查詢結果在記錄上進行拼接。(相當于將其他表的查詢記錄結果連接到第一個表的后面)【因為是拼接,所以多個查詢結果的字段數必須相同】【拼接不在意數據類型,比如第一個表的第一個字段是int,但后面的表中的varchar依然可以拼接到第一列中】
  • 語法:select語句 union select語句…;
    select name,gender from student
    union 
    select * from class;
    -- 因為class就兩個字段,所以第一個只選出兩個字段

補充:

  • union可以有選項,加在union 后面,all選項是不對相同去重,distinct是去重。
  • 聯合查詢一般用來處理同一表中以不同方法顯示不同數據。(比如,想將學生各科成績表中的兩科(這里假設為python 跟linux)同時查詢出來)
  • union和order by同時使用報錯時
    • 如果你想針對聯合查詢中的某個查詢結果排序,需要將這個select語句用括號括起來。【另外,由于聯合查詢的拼接機制,需要在order by 后面加上limit子句才行,limit的數量可以是一個很大的值。】
    • 如果是針對最終的聯合查詢結果,就在最后一個select語句中使用order by 【建議給最后一個字段加上括號,再加ordery by,使用情況是有同名字段】


子查詢:

  • 子查詢是嵌套在查詢語句中的查詢。
  • 子查詢按照出現的位置可以分為三類:
    • from子查詢:子查詢跟在from之后的;一般用在“先查出二維表,再處理”的情況。
      • 比如:
        -- 這是一個無意義的例子。僅為舉例使用
        select cid,cname from (select * from class where cname="python") as c;
    • where子查詢:子查詢跟在where條件中;一般用在“先查詢出指定條件再查詢”的情況
      • 比如:
        select * from student where cid=(select cid from class where cname="python");
    • exist子查詢:子查詢在exist語句里面;一般用作“存在才做”的情況
      • 比如:
        -- 這是一個如果學生沒有選擇cid=1的課,那么不輸出對應課程信息的例子
        select * from class where exists(select * from student where cid=1) and cid=1;
    • 事實上,有些人認為union之后跟著的也是子查詢,不過這里不把這些當作子查詢,只把上面幾個與“查詢”非常緊密相關的當作子查詢。

補充:

  • 事實上,還可以根據結果來分類子查詢:
    • 標量子查詢,子查詢得到的結果是一行一列,情況一般發生于where子查詢只查詢出一行一列的情況。
    • 列子查詢,子查詢得到的結果是一列多行,情況一般發生于where子查詢查詢出一列多行的情況。
    • 行子查詢,子查詢得到的結果是多列一行(或者多行多列) ,情況一般發生在where子查詢查詢出多列一行的情況。
    • 表子查詢,子查詢得到的結果是多行多列 ,情況一般發生在from子查詢中
  • where子查詢中有時候還使用一些其他關鍵字,如any,all,some,但對=來說,=基本可以實現他們的功能了。

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數據庫鎖相關技巧匯總》及《MySQL常用函數大匯總》

希望本文所述對大家MySQL數據庫計有所幫助。

您可能感興趣的文章:
  • 詳解Mysql多表聯合查詢效率分析及優化
  • MySQL全文索引、聯合索引、like查詢、json查詢速度哪個快
  • mysql多表聯合查詢操作實例分析
  • Mysql兩表聯合查詢的四種情況總結
  • 淺談mysql的子查詢聯合與in的效率
  • 對MySQL幾種聯合查詢的通俗解釋
  • Mysql聯合查詢UNION和UNION ALL的使用介紹
  • Mysql聯合查詢UNION和Order by同時使用報錯問題的解決辦法
  • mysql多表聯合查詢返回一張表的內容實現代碼
  • 詳解MySQL 聯合查詢優化機制

標簽:益陽 恩施 杭州 澳門 白銀 定西 秦皇島 寧夏

巨人網絡通訊聲明:本文標題《mysql連接查詢、聯合查詢、子查詢原理與用法實例詳解》,本文關鍵詞  mysql,連接,查詢,聯合,子,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql連接查詢、聯合查詢、子查詢原理與用法實例詳解》相關的同類信息!
  • 本頁收集關于mysql連接查詢、聯合查詢、子查詢原理與用法實例詳解的相關信息資訊供網民參考!
  • 推薦文章
    精品国产亚洲人成在线| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产视频一区二区三区四区| 亚洲精品久久玖玖玖玖| 亚洲天堂免费| 成人免费一级纶理片| 精品国产一区二区三区国产馆| 亚洲精品久久玖玖玖玖| 日韩专区第一页| 精品久久久久久中文字幕一区| 久久精品免视看国产明星| 国产高清视频免费| 国产91精品一区二区| 日韩专区第一页| 九九精品影院| 天天色成人网| 国产伦理精品| 一a一级片| 久久99爰这里有精品国产| 午夜激情视频在线播放| 欧美日本免费| 色综合久久久久综合体桃花网| 午夜在线观看视频免费 成人| 成人在免费观看视频国产| 亚飞与亚基在线观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 精品视频在线观看视频免费视频 | 成人免费网站久久久| 国产不卡在线观看| 四虎影视精品永久免费网站| 91麻豆tv| 亚欧乱色一区二区三区| 高清一级毛片一本到免费观看| 日本免费看视频| 欧美另类videosbestsex高清| 青青青草影院 | 欧美另类videosbestsex久久| 精品久久久久久中文| 国产麻豆精品视频| 美女免费精品视频在线观看| 在线观看导航| 精品视频一区二区| 国产伦精品一区三区视频| 999精品影视在线观看| 日日夜夜婷婷| 成人免费观看男女羞羞视频| 九九免费高清在线观看视频| 成人免费高清视频| 99久久精品国产高清一区二区 | 精品国产一区二区三区精东影业| 亚洲 欧美 成人日韩| 久久精品成人一区二区三区| 亚洲精品中文字幕久久久久久| 国产精品免费久久| 亚洲精品久久玖玖玖玖| 日本免费看视频| 日本特黄特黄aaaaa大片| 亚洲爆爽| 亚洲 国产精品 日韩| 韩国毛片 免费| 国产一区精品| 国产视频网站在线观看| 日本在线不卡免费视频一区| 国产成人女人在线视频观看| 日本在线不卡免费视频一区| 天天做日日爱夜夜爽| 日本乱中文字幕系列| 亚洲女初尝黑人巨高清在线观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 亚洲爆爽| 国产麻豆精品| 精品国产亚一区二区三区| a级黄色毛片免费播放视频| 国产原创中文字幕| 精品视频免费观看| 成人免费观看男女羞羞视频| 精品国产亚洲一区二区三区| 精品毛片视频| 成人免费观看视频| 日韩中文字幕在线亚洲一区| 亚洲www美色| 成人影院久久久久久影院| 四虎影视精品永久免费网站| 国产91素人搭讪系列天堂| 欧美另类videosbestsex高清| 九九精品在线播放| 台湾毛片| 九九久久99| 精品视频在线看| 精品美女| 99热热久久| 亚洲精品永久一区| 毛片的网站| 日韩av成人| 国产美女在线观看| 欧美国产日韩在线| 国产伦精品一区二区三区无广告| 精品视频在线看 | 夜夜操网| 久久国产影视免费精品| 国产精品1024永久免费视频| 91麻豆精品国产自产在线| 欧美激情一区二区三区在线播放| 日韩一级黄色片| 精品美女| 免费毛片播放| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 一级毛片视频播放| 成人免费网站久久久| 在线观看导航| 999久久狠狠免费精品| 国产91丝袜在线播放0| 精品毛片视频| 美女被草网站| 在线观看成人网 | 91麻豆精品国产片在线观看| 欧美激情在线精品video| 精品国产香蕉在线播出| 国产福利免费观看| 国产伦久视频免费观看视频| 亚洲精品影院久久久久久| 四虎影视库国产精品一区| 日韩中文字幕在线观看视频| 午夜激情视频在线播放| 尤物视频网站在线| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 精品久久久久久综合网| 国产一区二区精品久久91| 午夜精品国产自在现线拍| 九九久久国产精品| 国产精品免费久久| 91麻豆精品国产自产在线| 国产91素人搭讪系列天堂| 亚洲女初尝黑人巨高清在线观看| 91麻豆精品国产自产在线观看一区 | 国产伦久视频免费观看 视频| 日韩中文字幕一区| 欧美日本国产| 国产精品免费久久| 国产视频一区二区在线播放| 久久国产精品只做精品| 夜夜操网| 欧美a级片视频| 日韩中文字幕在线观看视频| 韩国毛片| 欧美另类videosbestsex| 一级女性大黄生活片免费| 亚洲天堂在线播放| 日本免费区| 精品毛片视频| 日韩在线观看网站| 韩国毛片| 麻豆午夜视频| 天堂网中文字幕| 九九精品影院| 国产一区二区高清视频| 免费一级片网站| 九九九国产| 一级毛片视频免费| 成人高清视频在线观看| 免费国产在线视频| 久久久久久久网| 国产91丝袜在线播放0| 欧美一区二区三区在线观看| 中文字幕一区二区三区 精品| 精品久久久久久中文| 午夜欧美福利| 亚洲精品久久久中文字| 欧美另类videosbestsex视频| 免费一级生活片| 国产麻豆精品| 999久久久免费精品国产牛牛| 日韩avdvd| 国产精品自拍一区| 可以免费看毛片的网站| 国产成人女人在线视频观看| 国产成人欧美一区二区三区的| 免费的黄色小视频| 精品在线免费播放| a级毛片免费观看网站| 九九久久99综合一区二区| 欧美一级视频免费观看| 国产不卡精品一区二区三区| 国产欧美精品| 日韩免费在线视频| 日本伦理片网站| 成人高清护士在线播放| 九九九国产| 一a一级片| 日本免费看视频| a级黄色毛片免费播放视频| 九九精品久久久久久久久| 可以免费看污视频的网站| 99色吧| 日韩专区亚洲综合久久| 成人a大片高清在线观看| 午夜激情视频在线播放| 精品在线观看一区| 日本乱中文字幕系列|