mysql连接查询「建议收藏」

mysql连接查询「建议收藏」11.5连接查询(列连接) 问题:学生表有十条数据,成绩表有十条数据。 连接之后有多少条数据(笛卡尔积):10*10=100 连续查询会产生笛卡尔积;假设集合A = {a,b},集合B = {c,d}

mysql连接查询

11.5连接查询(列连接)

问题:学生表有十条数据,成绩表有十条数据。

连接之后有多少条数据(笛卡尔积):10*10=100

 

连续查询会产生笛卡尔积;假设集合A = {a,b},集合B = {c,d}

两个集合的笛卡尔积{(a,c),(a,d)(b,c),(b,d)}

 

但是:

  (1)从数据结果来讲,有很多无用的数据。

  (2)通过where条件过滤无用的数据:通过主外键来清除无用数据

 

 ##使用主外键清除无用数据

select * from emp,dept where emp.deptno = dept.deptno;

 

 

11.5.1内连接

上面的写法其实就是内连接,但是不在sql的标准中

##标准写法

select

 * 

from

   emp e

   inner join

   dept d

   on

   e.deptno = d.deptno;

 

(1)inner 可以省略

(2)内连接的特点:只有满足条件的才会留下,不满足条件的数据将会丢失

部门是40的数据就没有了,员工表emp中没有40这个部门的人

11.5.2外连接

A left join B :A左连接B 表;a表是主表

B left join a :b左连接a 表;b表是主表

A right join B :A右连接B 表;b表是主表

B right join a :b右连接a 表;a表是主表

 

##员工表emp是主表,去匹配dept

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;

 

 

 

特点:主表的数据全部都在,然后去匹配非主表数据,匹配补上为null

面试题:左连接与右连接的区别

 

11.5.3自然连接

两张表中,有字段名字和数据类型一样,会自然作为连接的条件

##自然连接

select * from emp e

 natural join

 dept d;

 

 

 

 

mysql连接查询「建议收藏」

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6233.html

(0)
上一篇 2023-04-14
下一篇 2023-04-14

相关推荐

  • Python button实现页面交互功能

    Python button实现页面交互功能页面交互指的是页面中一个用户进行操作后,页面可以响应用户的操作并做出相应的反应。常见的页面交互功能有点击按钮、拖拽元素、页面滚动等。

    2024-01-22
    111
  • Python 缩进规则

    Python 缩进规则Python 是一门解释性语言,在语言设计方面采用了缩进的方式来指示代码块。Python 应该是最注重缩进风格的语言之一,没有之一。Python 代码的缩进不仅是语法的一部分,还能够让代码具有更好的可读性,这也是 Python 能够成为首选编程语言之一的原因之一。

    2024-06-14
    63
  • python游戏窗口(python游戏界面)

    python游戏窗口(python游戏界面)使用Python开发游戏可以吗?用Python开发游戏完全没有问题,游戏里面要用到一些全局变量、加载资源、创建开始界面、开始游

    2023-11-02
    144
  • MySql 库/表级操作 及 数据类型 – 纪宇「建议收藏」

    MySql 库/表级操作 及 数据类型 – 纪宇「建议收藏」数据库分类 关系型数据库(SQL):存储方式固定,安全 非关系型数据库(NoSQL):存储方式比较灵活,存储数据的效率比较高,不太安全 MySQL是一种关系型数据库管理系统(采用关系模型来组织管理数据

    2022-12-19
    153
  • 高性能mysql 索引_mysql添加索引命令

    高性能mysql 索引_mysql添加索引命令参考《高性能MySQL》第3版 1 索引基础 1.1 索引作用 在MySQL中,查找数据时先在索引中找到对应的值,然后根据匹配的索引记录找到对应的数据行,假如要运行下面查询语句: 如果在uid在建有索

    2023-05-11
    131
  • 用Python的NumPy计算数据的标准差

    用Python的NumPy计算数据的标准差NumPy是Python中重要的科学计算库之一,它能够让Python支持向量、矩阵等大型多维数组和矩阵运算。因其同样具有Matlab等科学计算语言的方便性而广为人知,被誉为Python的Matlab。

    2024-01-22
    95
  • Redis简介与部署 – Linux[通俗易懂]

    Redis简介与部署 – Linux[通俗易懂]一、简介 Redis是什么?redis是一款基于BSD协议,开源的非关系型数据库(nosql数据库),作者是意大利开发者Salvatore Sanfilippo在2009年发布,使用C语言编写;red

    2023-03-27
    145
  • 以Python逆序输出为中心

    以Python逆序输出为中心Python作为一门强大的编程语言,一直以来都备受程序员们的青睐。其中,逆序输出是python中常见的操作之一。本文将从多个方面对“以Python逆序输出为中心”进行讲解,帮助读者更好地理解这一操作。

    2024-07-20
    38

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注