(快速入门)MySQL学习笔记一:(P连接查询)

本文介绍了SQL中的连接查询概念,包括交叉连接、内连接、左外连接、右外连接及自然连接,并提供了具体语法示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

这个只是本人自己学习时做的笔记,比较基础,希望大佬不喜勿喷。
有需要的小伙伴可以参考一下,只是很基础的笔记。谢谢大家!

基础的介绍

语法代码:

---------------------------------------------------------------
--  连接查询
    将多张表连接到一起进行查询(会导致记录数行和字段数列发生改变)

--  连接查询的意义
    在关系型数据库设计过程中,实体(表)与实体之间是存在很多联系的。
    在关系型数据库表的设计过程中,遵循着关系来设计:一对一,一对多
    和多对多,通常在实际操作的过程中,需要利用这层关系来保证数据的完整性。

--  连接查询分类

--  交叉连接
    --将两张表的数据与另外一张表彼此交叉,笛卡尔积。
    语法:表1 cross join 表2
    select * from my_student coress join my_student;

--  内连接
    --匹配上数据就保留,否则放弃
    语法:表1 inner join 表2  on  匹配条件|也可以使用where但是不建议,
    where是在查询出来数据后再比较,降低效率
    select * from my_student inner join my_class on class=class;
    select * from my_student as s inner join my_class as c on s.class=c.class;
    select * from my_class inner join my_student on my_class.class = my_student.class;
    --应用 通常使用在有精确要求的地方使用。
--  外连接:左外连接和右外连接
    按照某一张表作为主表(表中所有记录在最后都会保留),根据条件去连接另外一张表,从而
    得到目标数据
    左连接:left join   左表是主表
    右连接:right join  右表是主表
    原理
    1.确定连接主表:左连接就是left join左边的表为主表,right join右边的表为主表。
    2.拿主表的每一条记录,去匹配另外一张表(从表)的每一条记录
    3.如果满足匹配条件:保留:不满足即不保留
    4.如果主表记录在从表中一条都没有匹配成功,也要保留该记录:从表对应的字段取null
    基本语法:
    左连接:主表 left join 从表 on 连接条件
    右连接:从表 right join 主表 on 连接条件
    左连接对应的主表数据在左边,有链接对应的主
    表数据在右边。
    select * from my_student s left join my_class c on s.class=c.class;
    select * from my_student s right join my_class c on s.class=c.class;

    自然连接
    --using 关键字
    是在连接查询中用来代替对应的on关键字的,进行条件匹配。
    原理:
    1.在连接查询时,使用on的地方用using代替
    2.使用using的前提是对应的两张表连接的字段是同名的(类似自然连接自动匹配)
    3.如果使用using关键字,那么对应的同名字段,最终在结果中只会保留一个。
    基本语法:表1【innerleftrightjoin 表2 using(同名字段列表);//连接字段
    select * from my_student left join my_class using(class);   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值