首页
学习
活动
专区
工具
TVP
发布

SQL关联查询

从2张或多张表中,取出有关联的数据 ? 关联查询一共有几种情况: 内连接:INNER JOIN 、CROSS JOIN ?...(1)形式一 select 字段列表 from A表 inner join B表 on 关联条件 【where 其他筛选条件】 说明:如果不写关联条件,会出现一种现象:笛卡尔积 关联条件的个数 = n...- 1,n是几张表关联 on只能和join一起用 (2) 形式二 select 字段列表 from A表 , B表 where 关联条件 【and 其他筛选条件】 外连接:左外连接(LEFT OUTER...select 字段列表 from A表 left join B表 on 关联条件 where 从表的关联字段 is null 右外连接(RIGHT OUTER JOIN) 第一种结果:B ?...表 on 关联条件 where 从表的关联字段 is null 自连接:当table1和table2本质上是同一张表,只是用取别名的方式虚拟成两张表以代表不同的意义

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

多表操作之列关联(二)

MQ0014 本文编辑 : 长安月下赏美人儿 编程工具 : MySQL、DBeaver 阅读时长 : 8分钟 目录 前言 外连接分类 左连接 全连接 前言 上周和小伙伴儿们一起分享了《多表操作之列关联...但是,事情的经过并不是这个样子的,实践是检验真理的唯一标准,实际操作过程中的坑坑洼洼在所难免。 场景一:LEFT JOIN 包含两表交集 ?...注意:如果直接关联两表会如何? (还记得之前学习的行关联么?!) SELECT*FROM t1 UNION SELECT * FROM t2; 数据结果: ?...逻辑解析: (1)数据表 t1 与 t2 中,以 name 为连接关键词,重复的数据有‘二毛’、‘小明’; (2)两数据表左连接,且不包含交集 (3)两数据表右连接,且不包含交集 (4)对查询结果关联即可得到结果...全连接小结: 进行数据表全连接的同时,要注意是否包含交集 注意:关于全连接,有的资料显示,可以直接用 FULL OUTER JOIN 句式,但小编在 DBeaver 中尝试失败,感兴趣的小伙伴儿可以去尝试一下

52520

多表操作之列关联(一)

多表操作之列关联分类 上文介绍了相对简单的《多表操作之行关联》,本文则分享一小部分有关多表操作的列关联知识。其较于前者,明显更为复杂,其主要关键词为 JOIN,这也是在查询中非常常见的一种操作!...根据连接查询返回的结果,分为三类 内连接(inner join) 外连接(outer join) 交叉连接(cross join) 多表关联的原理-笛卡尔积 有的人活着,他已经死了!...,后面指定的是主表 2、inner join ,后面跟随的是要同主表连接的表,可以是多个 3、on ,后面跟随的是连接条件,也就是将主表中的信息与其他表中的信息进行匹配的规则 4、内连接,根据运用操作符号的不同...内连接小结: inner join 与 cross join 的不同之处在于,前者有限制条件 注意不同数据源的切换,找到正确的需要处理的数据库 避免关联的相关表中名字相同的字段,因为两个字段的名字一样...,并不表示字段的意义一样 在进行多表关联时,必须给每个表取别名,这样更加简洁 多表之间通过相同意义字段的关联才生效,但是字段的名字并不一定相同 如果第一张表和第二张表无法关联起来,则可以借助第三张表来完成

71510

SQL语句多表关联查询语法

**sql语句多表关联查询语法** 一、外连接 1.左连接 left join 或 left outer join SQL语句:select * from...student left join score on student.Num=score.Stu_id; 2.右连接 right join 或 right outer join SQL语句:select...select * from student full join score on student.Num=score.Stu_id; 通过上面这三种方法就可以把不同的表连接到一起,变成一张大表,之后的查询操作就简单一些了...五、UNION操作符用于合并两个或多个select语句的结果集。 UNION内部的SELECT语句必须拥有相同数量的列,每个列也必须拥有相似的数据类型,每条SELECT语句中的列的顺序必须相同。...select Num from student union select Stu_id from score; union操作符是默认查重的,如果允许重复的值,就可以使用union all 。

3.9K20

SQL反模式学习笔记7 多态关联

这种设计也叫做多态关联,或者杂乱关联。 多态关联和EAV有着相似的特征:元数据对象的名字是存储在字符串中的。...在多态关联中,父表的名字是存储在Issue_Type单独一列中,有时候这样的设计被称作:混合数据与原数据。...合理使用反模式:应该尽量避免使用多态关联,应该使用外键约束等来确保引用完整性。 因为:多态关联通常过度依赖上层程序设计而不是数据库的元数据。...解决方案:让关系变得简单 1、反向引用,多态关联是一个反向关联 2、创建交叉表:为每个父表创建一张独立的交叉表,每张交叉表同时包含一个指向目标表的外键和一个指向对应附表的外键

92320

SQL操作

输入密码,save password 点击test connection 如果显示ping Successd则点击finish 在 Database Connections下的New MySQL 右键...选择 type中选择mysql5.1 Name中选Neq Mysql Database中选择database 在最右侧如果显示connected,那么可以开始写sql语句 自定义代码块 点击windows...,因为开启事务的话,每操作的一条语句产生的结果都是存储在内存中的,没有及时更新到数据库中,只有提交之后才能更新到数据库中 关闭自动提交 mysql的自动提交属性自动是开启的,就是每执行一次sql语句就会自动提交...显示自动提交的状态 show variables like '%autocommit%'; 显示为on表示开启的 关闭自动提交 set autocommit=0; 此时再次查询状态就会显示OFF...s1(标识); : 设置保存点 回滚到保存点,那么保存点之前的操作都是存在的,一旦提交之后就会执行保存点之前的操作

64420

SQL操作

,但是虚拟表中的数据会随着原表数据的改变而改变 为什么使用视图: 因为有些数据的查询需要书写大量的sql语句,每次书写比较麻烦,使用视图可起到重用sql语句的作用 可以通过视图隐藏敏感信息,比如隐藏员工工资的字段...insert操作时才会造成数据污染,因为update和delete只能操作视图中存在的数据 如果一旦执行插入语句,但是插入的数据不符合创建视图时的子查询条件,那么就会插入视图中失败,但是会插入到原表中,...,只会显示在原表中。...总结: 更新和删除都是对视图中已经存在的数据进行操作,如果存在就会直接删除和更新,并且原表中的数据也会同时被删除和更新,但是如果执行更新操作,更新后的条件不符合创建视图时子查询的条件,那么这些数据将不会显示在视图中...语句的工作单元或者最小单元,写在事务里面的sql要么同时成功,要么同时失败 事务的ACID性质(重要,面试常考) Automicity : 原子性 : 执行的sql语句要么同时成功,要么同时失败 Consistency

77210

SQL操作

关联关系 1.1.1. 自关联 1.2. 一对一 1.3. 一对多 1.4. 多对多 1.4.1. 创建表 1.4.2. 查询 1.5. 如何让两张表建立关系 1.6....连接方式和关联关系的区别 1.7. 数据库设计值权限管理 1.7.1. 什么是权限管理 1.7.2....权限管理表的实现 Day05 关联关系 自关联 当前表的数据和当前表里面的数据有关联关系 一对一 一对多 多对多 学生和老师的关系就是多对多的关系 一个学生可以被多个老师教,一个老师可以教多个学生...自关联是在一张表中,这张表中要有一个字段记录上级的主键 一对一: 需要在从表中有个字段表示主表的主键值 (外键) 一对多 部门和员工为例,需要在多的一端通过字段记录另外一张的表的主键...(外键) 多对多 需要准备一张关系表,表中保存两张表的主键值(第三张表) (外键) 连接方式和关联关系的区别 连接方式: 包括内连接,等值连接,左/右外连接 是指查询两张表时使用的查询方式 关联关系

42520

SQL操作

写在排序(order by 字句)的后面,如果没有排序写在where后面 limit 0,5 查询第一页,每页显示5条 limit 10,5 查询第三页,每页显示5条 limit 12,3...查询第五页 每页3条 select price from t_item order by price limit 10,10; 按照价格升序排列,显示第二页,每页10条 select price...from t_item where price <100 limit 0,10; 查询价格小于100的记录,显示第一页,每页10条 concat() 函数 concat()函数可以实现多个字符串的拼接...相当于显示的是价格只是每个价格后面添加了单位 比如: 23元 将标题和单价拼到一起进行展现 select concat(price,"元",title) from t_item limit 0,5...; 数值运算 支持加减乘除,取余(%)等效mod(n,m) 查询商品并在结果中显示商品的总价值 select price,num ,price*num '总价' from t_item;

55720
领券