MySQL-10连接查询

需求 查询出所有的写生,且要显示学生所在班级的信息

1.连接查询 :将多张表 进行记录的连接(按照某个指定的条件,进行数据的拼接)

最终结果 记录数可能有变化,字段数一定会增加(至少两张表合并)

连接咨询的意义,在用户查看数据的时候,需要显示的数据来自多张表

连接查询:join

使用方式 :左表 join 右表 

其中 左表为在join 关键字左边的表,

右表为在join关键字右边的表

三张表的连接查询

2.连接查询在SQL中分成四类

内连接 外连接 自然连接 交叉连接

--1.交叉连接 cross join

从一张表中,循环取出每一条记录,每条记录都去另外一张表中进行匹配:

匹配一定保留(没有条件匹配),而连接本身字段就会增加(保留),最终形成结果为笛卡尔集

1.select * from my_stu cross join king_class ;

其中 select * from my_stu;

select * from king_class;

sososo

select * from my_stu cross join king_class;

----->等价于 select * from my_stu,king_class;

实际开发中cross join 并没有什么卵用,其存在价值在于 保证连接这种结构的完整性

--2.内连接 inner join 其中 inner 关键字可以省略

从左表中取出每一条记录,去右表中与所有的记录进行匹配(匹配必须是某个条件在左表中和在右表中相同)才会保留结果,否则不保留;

基本语法

左表 [inner] join 右表 on 条件 and 条件and 条件。。。。。

inner join 不加 限制语句 on。。。。。。。时,结果相当于一个笛卡尔集

其中on 表示连接条件,条件字段就是代表相同的业务含义

select * from my_stu inner join stu_info;

inner join 添加 on 。。。。。条件 

select * from my_stu inner join stu_info on my_stu.id = stu_info.id

其中

某字段 为两张表中特有的,其表名可以省略

例如=====>

select * from my_stu inner join stu_info on class_id = stu_info.id 

字段别名以及表别名的使用:

在查询数据的时候,不同表有同名字段,这个时候需要加上表名进行区分

条件的添加2

更多筛选条件的添加

更多条件的添加

连接查询时的字段别名和表别名的使用

select s.* ,c.name as c_name,c.id from my_stu as s inner join stu_info as c on s.class_id = c.id;

select s.* ,c.name as c_name,c.id from -- 字段别名

my_stu as s inner join stu_info as c -- 表别名

 on s.class_id = c.id;

这个例子也说明了 select 。。。。。。。 from 是基于 后面一部分存在的 因为后半部分后执行,才在select中可以访问 s.*

on 和 where 

内连接 还可以使用 where 代替 on 关键字 但是(on 的效率高于 where)

--3.外连接 

外连接  outer join 以某张表为主,取出里面的所有记录,每条与另外一张表进行连接,无论能不能匹配上条件,最终都会保留:能匹配,正确保留,不能匹配,其他表的字段都置空NULL

外连接分为两种:是以某张表为主:有主表

left join 左外连接(左连接),以左表为主表

right join  右外连接(右连接),以右表为主表

基本语法:

左表 left / right join 右表 on 条件(如: 左表.字段 = 右表.字段)且 外连接必须有条件

左连接

左表为主表 最终记录数至少不少于左表已有的记录数 

右连接

右表为主表 最终记录数至少不少于右表已有的记录数 

虽然左连接和右连接有主表差异,但是显示的结果,左表的数据在左边,右表的数据在右边

左连接和右连接可以互转

--4.自然连接 natural join 

既自动匹配连接条件:系统以字段名作为匹配模式(同名字段就作为条件,多个同名字段都作为条件)

自然连接分为:

自然内连接

左表 natural join 右表;

自然内连接
自然连接自动使用同名字段作为连接条件,连接之后会合并同名字段

自然外连接

左表 natural left/right join 右表

select * from my_stu natural right join stu_info;


其实 内连接和外连接都可以模拟自然连接;使用同名字段 ,合并字段

左表 left / right  inner join 右表 using (字段名);--同名字段作为连接条件:自动合并条件

外连接模拟自然外连接

利用using 模拟自然外连接
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,423评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,339评论 1 289
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,241评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,503评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,824评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,262评论 1 207
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,615评论 2 309
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,337评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,989评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,300评论 2 240
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,829评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,193评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,753评论 3 230
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,970评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,708评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,295评论 2 267
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,207评论 2 258

推荐阅读更多精彩内容

  • 数据准备 回顾 记录操作:写操作:INSERT,UPDATE,DELETE读取操作:SELECT 这章主要学习:子...
    齐天大圣李圣杰阅读 967评论 0 4
  • ❤感赏自己今天又重听了紫雨老师和锦明老师的课程,用心听并且认真理解之后才感觉自己那么匮乏,以后一定会抽空多听多读。...
    苦咖啡_0a98阅读 269评论 0 6
  • 餐饮真的是低门槛,有钱的可以投资店铺好点,没钱的开个小店。但是一个商圈内顾客群体总数是不变的。只要有店铺新开就从在...
    rj简简单单阅读 168评论 0 1
  • 他说把朋友归类细分
    小小面阅读 90评论 0 0
  • 我是我,如果见面没有话说就不要说,除了他,我有自己的人生价值。 我和男朋友是在学生会认识的,那一年他大三,我大一。...
    梁某某back阅读 98评论 0 0