首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysql学习总结04 — SQL数据操作

连接分为两种:连接(left join),右外连接(right join) 连接表是主表连接:右表是主表 流程: 1、 确定连接主表连接left join左边的表为主表;right...NULL 基本语法: 连接: left join on ; 右连接: right join on ; mysql> select * from...连接和右连接其实可以互相转换,但是数据对应的位置(表顺序)会改变 外连接主表数据记录一定会保存:连接之后不会出现记录数少于主表(内连接可能) 应用 常用的数据获取方式:获取主表和对应的表数据(关联...一个查询是另一个查询的条件,称之为子查询 子查询和主查询的关系 子查询嵌入到主查询中 子查询辅助主查询,作为条件或数据源 子查询是一条完整的可独立存在的select语句 子查询按功能分类 标量子查询...,约束不能插入主表存在的数据,外键约束约束了例如: 表插入数据,不能插入对应主表主键不存在的数据 主表删除数据,不能删除被表引入的数据 外键约束保证了数据的完整性(主表表数据一致),外键强大的数据约束作用可能导致数据在后台变化的不可控

5.1K30
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL-多表操作

它用于返回关键字(LEFT JOIN)表中所有的记录,以及右表中符合连接条件的记录。表的某行记录在右表中没有匹配的记录,右表相关的记录将会设为NULL。...它用于返回连接关键字(RIGHT JOIN)右表(主表)中所有的记录,以及表(表)中符合连接条件的记录。 右表的某行记录在表中没有匹配的记录表中相关的记录将设为空值。...外连接与内连接的区别是,内连接只能获取符合连接条件的记录,而外连接不仅可以获取符合连接条件的记录,还可以保留主表表不能匹配的记录。 右连接查询正好与连接相反。...因此,在应用外连接调整关键字(LEFT或RIGHT JOIN) 和主从表的位置,即可实现连接和右连接的互换使用。...一个具有外键约束的丛表在插入数据,外键字段的值会受主表数据的约束,保证表插入的数据必须符合约束规范的要求。例如,表外键字段不能插入主表中不存在的数据。

3.2K20

带你学MySQL系列 | 多表连接查询的92语法和99语法,你都知道吗?

如果不想产生笛卡尔积现象,就需要添加有效的表连接条件。拿上述例子来说,表boyfriend_id只有和右边id相等代表她们的男朋友。...2.连接查询知识点概括 1)什么是连接查询? 在实际开发中,大多数的情况下都不是单表中查询数据,一般都是多张表联合查询取出最终的结果。...sq192标准:支持内连接; sq199标准【推荐】:仅仅支持内连接+外连接(支持外和右外)+交叉连接; ② 按功能分类 内连接:等值连接、非等值连接、自连接; 外连接连接、右外连接、全外连接...副表中的数据没有和主表中的数据匹配上,副表自动模拟出NULL与之匹配。 外连接最重要的特点是:主表的数据,无条件的全部查询出来。...2)外连接的分类 连接有右连接的写法,右连接也会有对应的连接的写法。因此,我们在学习MySQL的过程中,没有必要既学习连接又学习右连接连接连接):表示左边的这张表是主表

83820

学习mysql第五天

,必须保证匹配到保存 6、内连接可以在数据匹配完成后,使用where条件来限制,效果与on一样(推荐使用on). using 关键字 是在连接查询中用来代替对应的on关键字的,进行条件匹配 1、在连接查询...基本语法: 表1 cross join 表2; 外连接 outer join,按照某一张表作为主表(表中所有记录在最后都会保留),根据条件去连接另外一张表 外连接分为两 种:连接(left join...),右连接(right join) 连接表是主表连接:有表是主表 1、确定连接主表连接就是 left join 左边的表为主表;right join 就是右边为主表 2、拿主表的每一条记录,...4、如果主表记录在从表中一条都没有匹配成功,那么也要保留该记录,表对应的字段值都为null; 基本语法: 连接主表 left join 表 on 连接条件; 右连接: 主表 right join...表 On 连接条件; 连接对应的主表数据在左边;右连接对应的主表数据在右边; 事务概念 事务就是有一组SQL语句组成的业务逻辑,这组语句要么全执行,要么全不执行,不存在部分执行的情况。

42310

SQL 基础(六)多关系连接查询

,称为连接字段 当我们查询的数据、字段值分布在不同的表中,这种情况下需要使用多关系表的连接查询 连接类型:内连接(INNER JOIN)、外连接(OUTER JOIN)、交叉连接()、自然连接() 连接谓词...:连接两个表的条件 内连接查询 关键字(INNER JOIN),功能:返回连接条件为真的行,有 from 和 where 字句两种方式 这里要注意,两张表连接,同名属性需要使用前缀区分(列名唯一不需要...外连接中,符合连接条件的数据返回到结果集,不符合连接条件的列会被系统用 NULL 填充,再返回结果集 *注:bit 类型无 NULL 值,会填充 0 后返回结果集中 使用主表所在的方向位置判断连接类型...,例如:主表,即为连接 复习下关系运算中,连接的相关知识 那么上图两张表分别进行外、外、右外连接后的结果为 举例:查询所有学生选课情况,包括未选课学生信息 连接 left join -...XXX') 示例中,prof 的值由子查询查出结果后返回给父查询做结果,上述语句等价为 select tno,tn from t where prof=‘子查询 prof 值’ 返回一组值 比较运算符适用于查询所需返回值为单个值得情况

1.1K20

【MySQL】多表联合查询、连接查询、子查询「建议收藏」

连接查询 内连接查询是最常见的连接查询,内连接查询可以查询两张或两张以上的表 内连接:[inner] join:表中取出每一条记录,去右表中与所有的记录进行匹配: 匹配必须是某个条件在表中与右表中相同最终才会保留结果...基本语法:表 [inner] join 右表 on 表.字段 = 右表.字段; on表示连接条件: 条件字段就是代表相同的业务含义(如my_student.c_id和my_class.id) 两个表中存在相同意义的字段的时候...连接 left join: 连接(连接), 以左表为主表 基本语法: from 表 left join 右表 on 表.字段 = 右表.字段; 表不管能不能匹配上条件,最终都会保留:能匹配...right join: 右外连接(右连接), 以右表为主表 基本语法: from 表 right join 右表 on 表.字段 = 右表.字段; 右表不管能不能匹配上条件,最终都会保留:能匹配...子查询通常会使复杂的查询变得简单,但是相关的子查询要对基础表的每一条数据都进行子查询的动作,所以表单中数据过大,一定要慎重选择 带in关键字的子查询 使用in关键字可以将原表中特定列的值与子查询返回的结果集中的值进行比较

3.9K20

学会Mysql第三天

一个查询是另一个查新的条件,成为子查询 指在一条select语句中,嵌入另外一条select语句,那么被嵌入的select语句称为子查询 主查询 主查询指的是主要查询的查询对象,第一条select语句...,必须保证匹配到保存 6、内连接可以在数据匹配完成后,使用where条件来限制,效果与on一样(推荐使用on). using 关键字 是在连接查询中用来代替对应的on关键字的,进行条件匹配 1、在连接查询...),右连接(right join) 连接表是主表连接:有表是主表 1、确定连接主表连接就是 left join 左边的表为主表;right join 就是右边为主表 2、拿主表的每一条记录,...4、如果主表记录在从表中一条都没有匹配成功,那么也要保留该记录,表对应的字段值都为null; 基本语法: 连接主表 left join 表 on 连接条件; 右连接: 主表 right join...表 On 连接条件; 连接对应的主表数据在左边;右连接对应的主表数据在右边; select * from my_stydent as s lefy join my_clas c on s.class_id

71820

eos源码赏析(九):EOS智能合约入门之区块打包和广播机制

下面的一些定义及示例均来自于https://zh.cppreference.com,做参考。当然文字上理解有些枯燥且分类较多,但对于我们理解eos源码有很大的帮助。当然不感兴趣的可以直接跳过。...值和右值的概念: 在C++11中,值和右值的区分可以以下概念入手: 具有同一性 (identity) :可以确定表达式是否与另一表达式指代同一实体,例如通过比较它们所标识的对象或函数的...只有在它的参数绑定到一个右值,它转换它的参数到一个右值。参数绑定到,转换后仍为值。万能的函数包装器,可将带返回值、不带返回值、带参和不带参的函数委托万能的函数包装器执行。...目标容器不为空的情况下,则从目标容器末端开始循环插入trx_context中的信息。...做过qt开发的人对信号槽机制并不会陌生,拿最简单的on_pushButton_clicked()函数来讲,某一个特定事件发生(clicked),一个信号被发送(emit),与信号相关联(connect

56630

MySQL(五)

连接查询分类: 交叉连接连接连接 连接连接 自然连接 交叉连接(Cross Join) 之前咱们说过多表查询,就说过交叉查询的概念,只是语法不同。...外连接(Outer Join) 一张表作为主表(表中记录都会保留),根据条件去匹配另一张表中的记录,从而得到目标数据。...外连接分为: 连接(left join),表作为主表 右外连接(right join),右表作为主表 连接基本语法: {主表} left join {表} on {匹配条件}; 右连接基本语法...: {表} right join {主表} on {匹配条件}; select * from my_stud as s left join my_class as c on s.class_id =...left/right join] {表2} using({同名字段列表}); select * from my_stud left join my_class using(class_id); 子查询 一个查询是另一个查询的条件

69020

第36次文章:数据库查询语句

---- 进阶6:连接查询 一、基本内容 1、含义 又称为多表查询,查询的字段来自于多个表,就会使用到连接查询。 2、笛卡尔乘积现象 表1 有m行,表2 有n行, 结果= m*n行。...3、外连接 应用场景:用于查询一个表中有,另一表没有的记录。 (1)特点 查询的结果=主表中所有的行,如果表和它匹配的将显示匹配行,如果没有匹配的则显示null。...left join 左边的为主表,right join 右边的为主表外和右外交换两个表的顺序,可以实现同样的效果。 一般用于查询除了交集部分的剩余的不匹配的行。...full join 两边都是主表外和右外交换两个表的顺序,可以实现同样的效果。 全外连接=内连接的结果+表1中有但表2中没有的+表2中有但表1中没有的。...部门表中的每个部门编号如果存在员工表中,那么我们就列举出此员工的详细信息,然后使用exist来判断此子查询是否存在值,如果有值,则返回1,如果没有,则返回0,返回1的时候,就满足筛选条件,然后主查询就显示出此部门的名称

1.7K30

Mysql常用sql语句(17)- left right join 外连接

连接显示的内容要比内连接多,是对内连接的补充 left join的主表表,表是右表 right join的主表是右表,表是表 外连接会返回主表的所有数据,无论在从表是否有与之匹配的数据,若表没有匹配的数据则默认为空值...(NULL) 外连接只返回表匹配上的数据 重点:在使用外连接,要分清查询的结果,是需要显示表的全部记录,还是右表的全部记录 left join、right join 的语法格式 SELECT FROM RIGHT OUTER JOIN 语法格式说明 outer可以省略,只写 、 right join leftjoin on是设置连接连接条件...left join 的栗子 SQL分析 主表:emp 表:dept 根据 emp 表的员工 dept_id 和 dept 表的部门 id 进行匹配 因为 emp 是主表,所以最后两条记录的 dept_id...SQL分析 主表:dept 表:emp 根据 dept 表的 id 和 emp 表的 dept_id 进行匹配 因为 dept 是主表,所以最后两条记录的 id 在 emp 表没有匹配到 dept_id

1.3K10

数据库技术:MySQL 多表,外键约束,数据库设计,索引,视图,存储过程触发器,数据控制,数据备份与恢复

主表:主键 id 所在的表,约束别人的表;表:外键所在的表,被约束的表。...比如,通过 表的外键 = 主表的主键 的方式去匹配。...`cid`; Conclusion 内连接:只获取两张表中交集部分的数据。 连接:以左表为基准,查询表的所有数据,以及与右表有交集的部分。...Example 设计”用户表“和”订单表“:”用户表“中有”名字“字段,而”订单表“中也存在”名字“字段;需要查询“订单表”所有数据并且只需要“用户表”的”名字“字段,此时如果没有冗余字段,就需要去内连接...存储过程是为了完成特定功能的 SQL 语句集,经编译创建并保存在数据库中,用户在需要可通过指定存储过程的名字并给定参数来调用执行。

2.4K20

MySQL(连接查询)

连接查询 MySQL连接查询分类 1、按推出年份划分 SQL92标准:支持内连接; SQL99标准:支持除了全外连接的所有连接的类型; 2、按功能划分 内连接 SQL92 内连接 语法: SELECT...select * from china province inner join china city on province.id = city.pid; 外连接 连接 语法: SELECT <...确定主表 ; 2. 在连接中,LEFT 左边的就是主表 ; 3....显示所有的主表记录,并关联显示表中的数据,如果表中没有和主表可以关联的数据,使用NULL 进行匹配; 代码实例: 查询订单信息,并关联信息用户姓名 SELECT o....显示所有的主表记录,并关联显示表中的数据,如果表中没有和主表可以关联的数据,使用NULL 进行匹配; 代码实例: SELECT o.

7.5K10

10 个经典的 Java 集合面试题,看你能否答得上来?(会员专享)

另一个线程给就绪状态的线程发送信号,该线程重新切换到运行状态。 休眠状态: 由于一个线程的时间片用完了,该线程运行状态进入休眠状态。...maxAge 的默认值是-1 maxAge 的值为 0 ,表示删除 cookie。...2、内连接 基本语法:表 [inner] join 右表 on 表.字段 = 右表.字段; 表中取出每一条记录,去右表中与所有的记录进行匹配:匹配必须是某个条件在表中与右表中相同最终才会保留结果...3、外连接 基本语法: 表 left/right join 右表 on 表.字段 = 右表.字段; left join: 连接(连接), 以左表为主表 right join: 右外连接(右连接...连接 ? 右外连接 ?

79130

MySQL数据库完整知识点梳理----保姆级教程!!!

应用场景: 用于查找一个表中有,另一个表中没有的记录 特点: 外连接查询的结果为主表中所有记录 如果表中有和它匹配的,则显示匹配的值 如果表中没有和它匹配的,则显示null 外连接结果=内连接结果...+主表中有而表中没有的记录 连接: left join 左边的是主表 右外连接: left join 右边的是主表 外和右外交换两个表的顺序,可以实现同样的效果 可以像内连接一样,去掉outer...关键字 ---- 连接 演示: 找出girl表中id和Boy表中id所匹配的记录: girl做主表 SELECT g.girl woman , b.* FROM girl g LEFT...JOIN boy b; ---- 连接查询的总结 内连接: 连接: 右外连接: 外去交集: 右外去交集: 全外连接: 全外连接去交集:...,名称无要求 主表的关联列的必须是一个key(一般是主键或者唯一键) 插入数据,先插入主表,再插入表 删除数据,先删除表,再删除主表,只有当主表对应列下面的表对应列的数据都被删除,才能删除当前主表对应的列

5.8K10

高级查询、内外连接

...from 表名 where exists(子查询) 子查询有返回结果: EXISTS子查询结果为TRUE,则执行外层查询 子查询无返回结果: EXISTS子查询结果为FALSE,外层查询不执行 数据量大的时候使用...`studentNo`) INNER JOIN `subject` AS SU ON (SU.subjectNo=R.subjectNo); (2)外连接 连接 (LEFT JOIN) 主表表)...student中数据逐条匹配表result中的数据 1.匹配,返回到结果集 2.无匹配,NULL值返回到结果集 示例: /*连接 left join 前面的表为主表,以主表里的字段为依据,把表里的数据填充给主表...as 学生成绩 from student as s left join result as r on s.studentNo = r.studentNo; 右外连接 (RIGHT JOIN) 右外连接的原理与连接相同...右表逐条去匹配记录;否则NULL填充 示例: /*右外连接 right join前面的表为主表,以主表里的字段为依据,把表里的数据填充给主表表里面没有的字段以null填充 right join

61420
领券