首页
学习
活动
专区
工具
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本质上是同一张表,只是用取别名的方式虚拟成两张表以代表不同的意义

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

    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 。

    4.1K20

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

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

    96120

    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(标识); : 设置保存点 回滚到保存点,那么保存点之前的操作都是存在的,一旦提交之后就会执行保存点之前的操作

    67120

    SQL操作

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

    81810

    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 关联关系 自关联 当前表的数据和当前表里面的数据有关联关系 一对一 一对多 多对多 学生和老师的关系就是多对多的关系 一个学生可以被多个老师教,一个老师可以教多个学生...自关联是在一张表中,这张表中要有一个字段记录上级的主键 一对一: 需要在从表中有个字段表示主表的主键值 (外键) 一对多 部门和员工为例,需要在多的一端通过字段记录另外一张的表的主键...(外键) 多对多 需要准备一张关系表,表中保存两张表的主键值(第三张表) (外键) 连接方式和关联关系的区别 连接方式: 包括内连接,等值连接,左/右外连接 是指查询两张表时使用的查询方式 关联关系

    44720

    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;

    57720

    SQL操作

    数据库相关SQL 1.7.1. 什么是SQL 1.7.2. 连接数据库 1.7.3. 数据库操作 1.8. 表相关SQL 1.8.1. 什么是表 1.8.2. 数据库表的引擎 1.8.3....什么是SQL Strctured Query Language : 结构化查询语言 通过sql语言和DBMS(数据库管理软件)进行交互 连接数据库 终端中输入: mysql -u root -...p 输入密码即可,没有密码直接回车即可 数据库操作 create database d_name ; 创建数据库d_name drop database d_name; 删除数据库d_name show...databases; 显示所有的数据库 show create database d_name; 查看单个数据库 use d_name; 使用当前的数据库d_name create database...class的属性 数据库表的引擎 innoDB : 支持数据库的高级操作,包括事务 主键 外键等 myisam : 只具备基本的数据库储功能 创建表时指定引擎和字符集 格式 :create

    68220

    SQL操作

    操作三 select extract(year from hiredate) year,count(*) from emp group by y; having子句 聚合函数不可以对where结合使用...=3000 order by c desc,avg asc; 子查询 Mysql子查询 子查询 : 嵌套到sql语句里面的查询sql语句称为”子查询” 子查询中返回的字段一定要和查询的判断条件字段类型一致...,如果其中的数据没有关联关系,那么没有关联关系的数据查询不出来 左外连接 两张表中其中有数据没有关联关系,那么使用等值连接和内连接就查询不出来,因此需要使用左外连接 查询结构以左边的表为主,内容全部显示...,左边的只是显示有关系的 select * from emp e left join dept d on e.deptno=d.deptno; 右外连接 两张表中其中有数据没有关联关系,那么使用等值连接和内连接就查询不出来...,因此需要使用左外连接 查询结构以右边的表为主,内容全部显示,左边的只是显示有关系的 select * from emp e right join dept d on e.deptno=d.deptno

    69210
    领券