电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

mysql連接查詢、聯(lián)合查詢、子查詢原理與用法實例詳解

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

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

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

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

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

-- 實驗表結(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ù)據(jù):insert into student values(1,'lilei','male',1),(2,'hanmeimei','male',2),(3,'jack','male',1),(4,'alice','female',4); --這里特意創(chuàng)建了一個class中沒有的4insert into class values(1,'linux'),(2,'python'),(3,'java'),(5,'html5');--這里特意創(chuàng)建了一個student中沒有的5select * from student;select * from class;

mysql連接查詢、聯(lián)合查詢、子查詢原理與用法實例詳解mysql連接查詢、聯(lián)合查詢、子查詢原理與用法實例詳解

內(nèi)連接: 從左表中取出每一條記錄,去右表中與所有的記錄進(jìn)行匹配,保留匹配成功的記錄,并將兩份記錄拼接。 語法:select 字段列表 from 左表 [inner] join 右表 on 左表.字段 = 右表.字段; 不使用on條件的時候,結(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連接查詢、聯(lián)合查詢、子查詢原理與用法實例詳解外連接: 與內(nèi)連接不同的是主表記錄不管匹配符不符合都保留,方式有左外連接、右外連接,左外連接是保留左表,右外連接是保留右表 語法: 左外連接:select 字段列表 from 左表 left join 右表 on 左表.字段 = 右表.字段; 右外連接:select 字段列表 from 左表 right join 右表 on 左表.字段 = 右表.字段;

select * from student left join class on student.cid = class.cid; mysql連接查詢、聯(lián)合查詢、子查詢原理與用法實例詳解

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

select * from student natural join class;mysql連接查詢、聯(lián)合查詢、子查詢原理與用法實例詳解

select * from student natural left join class;mysql連接查詢、聯(lián)合查詢、子查詢原理與用法實例詳解 交叉連接: 將每一條記錄與另外一個表的每一條記錄連接 語法: select 字段列表 from 表名 cross join 表名;select 字段列表 from 表名 ,表名;

select * from student cross join class;select * from student,class; mysql連接查詢、聯(lián)合查詢、子查詢原理與用法實例詳解補(bǔ)充: 在多個表中,為了區(qū)分每個表,以及簡便使用,可以使用表別名。

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)合查詢: 聯(lián)合查詢是將多個查詢結(jié)果在記錄上進(jìn)行拼接。(相當(dāng)于將其他表的查詢記錄結(jié)果連接到第一個表的后面)【因為是拼接,所以多個查詢結(jié)果的字段數(shù)必須相同】【拼接不在意數(shù)據(jù)類型,比如第一個表的第一個字段是int,但后面的表中的varchar依然可以拼接到第一列中】 語法:select語句 union select語句…;

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

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

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

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

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 心得体会网_心得体会格式范文模板 | 光谱仪_积分球_分布光度计_灯具检测生产厂家_杭州松朗光电【官网】 | 不锈钢水管-不锈钢燃气管-卫生级不锈钢管件-不锈钢食品级水管-广东双兴新材料集团有限公司 | 数控走心机-双主轴走心机厂家-南京建克 | 玻璃钢格栅盖板|玻璃钢盖板|玻璃钢格栅板|树篦子-长沙川皖玻璃钢制品有限公司 | 郑州水质检测中心_井水检测_河南废气检测_河南中环嘉创检测 | 标准光源箱|对色灯箱|色差仪|光泽度仪|涂层测厚仪_HRC大品牌生产厂家 | 合肥网络推广_合肥SEO网站优化-安徽沃龙First| 石家庄小程序开发_小程序开发公司_APP开发_网站制作-石家庄乘航网络科技有限公司 | 河南档案架,档案密集架,手动密集架,河南密集架批发/报价 | 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 传递窗_超净|洁净工作台_高效过滤器-传递窗厂家广州梓净公司 | 三防漆–水性三防漆–水性浸渍漆–贝塔三防漆厂家 | 珠海冷却塔降噪维修_冷却塔改造报价_凉水塔风机维修厂家- 广东康明节能空调有限公司 | 3dmax渲染-效果图渲染-影视动画渲染-北京快渲科技有限公司 | 安徽集装箱厂-合肥国彩钢结构板房工程有限公司 | 团建-拓展-拓展培训-拓展训练-户外拓展训练基地[无锡劲途] | 专业广州网站建设,微信小程序开发,一物一码和NFC应用开发、物联网、外贸商城、定制系统和APP开发【致茂网络】 | 胀套-锁紧盘-风电锁紧盘-蛇形联轴器「厂家」-瑞安市宝德隆机械配件有限公司 | 2025福建平潭岛旅游攻略|蓝眼泪,景点,住宿攻略-趣平潭网 | 洁净化验室净化工程_成都实验室装修设计施工_四川华锐净化公司 | 杭州画室_十大画室_白墙画室_杭州美术培训_国美附中培训_附中考前培训_升学率高的画室_美术中考集训美术高考集训基地 | 凝胶成像系统(wb成像系统)百科-上海嘉鹏 | 厂房出售_厂房仓库出租_写字楼招租_土地出售-中苣招商网-中苣招商网 | 隧道窑炉,隧道窑炉厂家-山东艾瑶国际贸易| 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 砂磨机_立式纳米砂磨机_实验室砂磨机-广州儒佳化工设备厂家 | 双工位钻铣攻牙机-转换工作台钻攻中心-钻铣攻牙机一体机-浙江利硕自动化设备有限公司 | 安平县鑫川金属丝网制品有限公司,声屏障,高速声屏障,百叶孔声屏障,大弧形声屏障,凹凸穿孔声屏障,铁路声屏障,顶部弧形声屏障,玻璃钢吸音板 | 环保袋,无纺布袋,无纺布打孔袋,保温袋,环保袋定制,环保袋厂家,环雅包装-十七年环保袋定制厂家 | 北京公积金代办/租房发票/租房备案-北京金鼎源公积金提取服务中心 | 巨野电机维修-水泵维修-巨野县飞宇机电维修有限公司 | 金库门,金库房,金库门厂家,金库门价格-河北特旺柜业有限公司 | 回收二手冲床_金丰旧冲床回收_协易冲床回收 - 大鑫机械设备 | 上海刑事律师|刑事辩护律师|专业刑事犯罪辩护律师免费咨询-[尤辰荣]金牌上海刑事律师团队 | 无锡门窗-系统门窗-阳光房-封阳台-断桥铝门窗厂[窗致美] | 防弹玻璃厂家_防爆炸玻璃_电磁屏蔽玻璃-四川大硅特玻科技有限公司 | 芝麻黑-芝麻黑石材厂家-永峰石业 | 刺绳_刀片刺网_刺丝滚笼_不锈钢刺绳生产厂家_安平县浩荣金属丝网制品有限公司-安平县浩荣金属丝网制品有限公司 | 涿州网站建设_网站设计_网站制作_做网站_固安良言多米网络公司 | 即用型透析袋,透析袋夹子,药敏纸片,L型涂布棒-上海桥星贸易有限公司 | 深圳激光打标机_激光打标机_激光焊接机_激光切割机_同体激光打标机-深圳市创想激光科技有限公司 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 |