首页 > 数据库 >Mysql阶段二总结

Mysql阶段二总结

时间:2024-06-07 19:04:50浏览次数:31  
标签:总结 UNION 查询 union fieldn 阶段 Mysql 连接 SELECT

Mysql阶段二总结

文章目录


当我们在查询数据时,要求返回所操作表中至少一个表的所有数据记录,通过SQL语句“OUTER JOIN…ON”来实现。外连接数据查询语法形式如下:

SELECT field1,field2,…,fieldn

FROM tablename1 LEFT|RIGHT [OUTER] JOIN tablename2

ON CONDITION

在上述语句中,参数fieldn表示所要查询的字段名字,来源于所连接的表tablename1和tablename2,关键字OUTER JOIN表示表进行外连接,参数CONDITION表示进行匹配的条件。

外连接查询可以分为以下二类:

l *左外连接*

外连接查询中的左外连接,就是指新关系中执行匹配条件时,以关键字LEFT JOIN左边的表为参考表。左连接的结果包括LEFT OUTER字句中指定的左表的所有行,而不仅仅是连接列所匹配的行,如果左表的某行在右表中没有匹配行,则在相关联的结果行中,右表的所有选择列表均为空值。

l *右外连接*

外连接查询中的右外连接在新关系中执行匹配条件时,以关键字RIGHT JOIN右边的表为参考表,如果右表的某行在左表中没有匹配行,左表将返回空值。

1. *合并查询数据记录*

在MySQL中通过关键字UNION来实现合并操作,即可以通过其将多个SELECT语句的查询结果合并在一起,组成新的关系。在MySQL软件中,合并查询数据记录可通过SQL语句UNION来实现,具体语法形式如下:

SELECT field1,field2,…,fieldn FROM tablename1

UNION | UNION ALL

SELECT field1,field2,…,fieldn FROM tablename2

UNION | UNION ALL SELECT field1,field2,…,fieldn ;

*注意:* 多个选择语句select 的列数相同就可以合并,union和union all的主要区别是union all是把结果集直接合并在一起,而union 是将union all后的结果再执行一次distinct,去除重复的记录后的结果。

左外连接

mysql> select*from class as a left join student as b on a.id=b.id;
+----+------+---------+------+------+----------+
| id | name | teacher | id   | name | students |
+----+------+---------+------+------+----------+
|  1 | 一班 | Jack    |    1 | 一班 | 小明     |
|  2 | 二班 | Tom     |    2 | 二班 | 小花     |
|  3 | 三班 | Kill    |    3 | 三班 | 小五     |
|  4 | 四班 | Mike  

标签:总结,UNION,查询,union,fieldn,阶段,Mysql,连接,SELECT
From: https://blog.csdn.net/2301_79638183/article/details/139458472

相关文章

  • Mysql 8.4.0 结合 Docker 搭建GTID主从复制,以及传统主从复制
    注意:本教程不适用旧版本,Mysql8.4.0和旧版本,主从复制相关命令有所变化,具体区别请看文末参考软件版本Docker:26.1.3Mysql:8.4.0 GTID主从复制1.准备主从两台服务器2.两台服务器分别创建DockerCompose文件services:mysql:image:mysql:8.4.0ports:-"3......
  • linux安装mysql8并配置主从
    服务器10.213.3.68DBmaser10.213.3.69DBslave都安装mysql8安装包,解压mysql-8.0.35-linux-glibc2.17-x86_64.tar.xz[root@DB-mastermysql8]#lsbindocsincludelibLICENSEmanREADMEsharesupport-files优化过的配置文件[mysqld]server-id=1log-bin=mys......
  • Mysql基础进阶速成2
    看着篇文章之前先看我的前一章:MySQL基础进阶速成1函数:每个字段使用一个函数:select+函数(字段名)+from+表名upper:将字符串中的字母大写lower:将字符串中的字符小写max:得到最大值min:得到最小值count:计数avg:平均数length:获取字符串长度........selectupper(name)fro......
  • MySQL随笔
    1、隔离级别innoDB通过间隙锁锁定查询范围避免被其他事物修改未提交读(导致脏读)、已提交读(导致不可重复读)、可重复读(mysql默认,导致幻读)、串行化 脏读:事物执行的过程读到其他事物未提交的数据不可重复读:事物a在多次读取某数据时,事物b进行了修改,导致食物a两......
  • [设计模式 1] 设计模式笔记(大话设计模式总结)
    设计模式总结(java版1)1.简单工厂模式需求:设计一个计算器,有一个抽象的运算类,他里边有两个数字属性和一个getResult()抽象方法,这个类被四个加减乘除的具体的算法类继承,然后有一个简单工厂类,这个简称工厂类是用来生成一个具体的运算类的,然后就在简单工厂类里有一个逻辑的判......
  • mysql8 无法连接navicat问题
    1、修改MySQL的配置文件(my.cnf或者my.ini),在[mysqld]部分添加或者修改default_authentication_plugin=mysql_native_password。重启mysql服务2、创建或修改用户并设置密码:如果您还没有 root 用户从任何主机连接的权限,您需要首先以具有足够权限的用户(通常是本地 root 用户)登录......
  • MySQL中InnoDB引擎行数据过大对B+树存储的影响
    效率工具推荐一个程序员常用的工具网站:程序员常用工具(http://cxytools.com),有时间戳、JSON格式化、文本对比、HASH生成、UUID生成等常用工具,效率加倍嘎嘎好用。小报童专栏精选Top100推荐一个小报童专栏导航站:小报童精选Top100(http://xbt100.top),收录了生财有术项目精选、A......
  • ubuntu 22.04 安装MySQL8后的基本设置
    安装sudoaptupdatesudoaptupgradesudoaptinstallapache2mysql-serverphplibapache2-mod-phpphp-mysql初始化配置MySQL初始化配置以及设置root密码初始化MySQL安全配置sudomysql_secure_installation这个命令会提示您进行一系列的安全设置,包括:是否......
  • Chroium 源码目录结构分析(3):目录和模块总结(src根目录部分)
    上一篇,我们通过脚本对主要的两个目录进行信息统计和提取,由于提取的内容过多不便于直接阅读,因此我们使用AI帮我们总结。提示词:你是chromium项目的专家,专业的软件工程师。这分文档是google的chromium开源项目的目录结构和对应目录模块的readme的摘要,请你根据文档内容,依次总......
  • 超级详细的mysql数据库安装指南
    如果你的电脑是windows,参考下面的安装步骤。一、下载mysql数据库进入MySQL官方网站(MySQLCommunityDownloads),按下图顺序点击“进入下载页面 在下载页面拉到最下面会看到下图中的安装软件 MSIInstaller注意有两个,这两个有什么区别呢?第一个(大小是10多M)是联网在线安装,会......