【Mysql】Mysql的多表查询---多表联合查询(中)

devtools/2024/11/17 18:22:00/

1、外连接查询

外连接 查询分为左外连接(left  outer  join) 右外连接查询(right  outer  join)满外连接查询(full  outer   join).

注意:oracle  里面有full  join ,但是在mysql中对full  join   支持的不好。我们可以使用union来达到目的。

格式:

(1)左外连接:(关键字: left  outer join)

select  *   from  A  left   outer    join B  on  条件;

注意:当有多个表时,可以这样写:

select  *  from   A  left  outer  join   B  on  条件1

left   outer   join  C on   条件2   ;

(2)右外连接(关键字:right outer  join)

select   *  from   A  right   outer   join    B  on   条件;

注意:当有多个表时,可以这样写:

select  *  from   A   right   outer  join  B  on  条件1

right  outer  join   C   on    条件2;

操作:

------查询哪些部门有员工,哪些部门没有员工

------------查询员工有对应的部门,哪些没有

(3)实现满外连接(即将左外连接与右外连接的结果并起来)

注意:Mysql中不能使用full    join

使用union 

使用union  all

union 与union的区别:

union是将两个查询结果上下拼接并去重,而union  all是将两个查询结果上下拼接不去重。

2、子查询

(1)介绍

子查询就是指的在一个完整的查询语句之中,嵌套若干个不同功能的小查询,从而一起完成复杂查询的一种编写形式,通俗一点就是包含select嵌套的查询。

(2)特点

子查询可以返回的数据类型一共有4种:

1))单行单列:返回的是一个具体列的内容,可以理解为一个单值数据。

2))单行多列:返回一行数据多个列的内容。

3))多行单列:返回多行记录之中同一列的内容。

4))多行多列:查询返回的结果是一张临时表。

操作:

emp3表;

dept3表:

------查询年龄最大的员工信息,显示信息包含员工号、员工名字,员工年龄。

--------查询研发部和销售部的员工信息,包含员工号、员工名字、

方法一:联合查询

方法二:子查询


http://www.ppmy.cn/devtools/134758.html

相关文章

python 爱心邮件代码

import smtplib import time from email.mime.text import MIMEText import requests from lxml import etree import datetime from requests.exceptions import RequestException# 邮件配置 sender_maile # 发件人地址 sender_pass # 邮件授权码 boy_name # 发件人姓…

rust逆向初探

rust 逆向葵花宝典 rust逆向技巧 rust逆向三板斧: [!NOTE] 快速定位关键函数 (真正的main函数):观察输出、输入,字符串搜索,断点等方法。定位关键 加密区 :根据输入的flag,打硬件断点,快速捕获…

GRE做题笔记(零散的个人经验)

locomotive机车By 1813, the Luddite resistance had all but vanished. all but表示“几乎完全”的程度,或者表示排除piston活塞attributed to 归因于how a sportsperson accounted for their own experience of stress 运动员如何解释自己的压力经历 ,…

防火墙----iptables

防火墙是位于内部网和外部网之间的屏障,他按照系统管理员预先定义好的规则来控制数据包的进出 一、iptables简介 防火墙会从以上至下的顺序来读取配置的策略规则,在找到匹配项后就立即结束匹配工作并去执行匹配项中定义的行为(即放行或阻止&…

POI和easyExcel的讲解和使用

目录 应用场景: Apache POI: EasyExcel: POI具体实现: POI-Excel 写: POI-Excel 读: 大文件写HSSF: 大文件写XSSF: 大文件写SXSSF: EasyExcel: 导…

Python练习19

Python日常练习 题目: 打印如下九九乘法表 1*11 2*12 2*24 3*13 3*26 3*39 4*14 4*28 4*312 4*416 5*15 5*210 5*315 5*420 5*525 6*16 6*212 6*318 6*424 6*530 6*636 7*17 7*214 7*321 7*428 7*535 7*642 7*749 8*18 8*216 8*324 8*432 8*540 8*648 8*756 8*86…

c# 调用c++ 的dll 出现找不到函数入口点

今天在调用一个设备的dll文件时遇到了一点波折,因为多c 不熟悉,调用过程张出现了找不到函数入口点,一般我们使用c# 调用c 文件,还是比较简单。 [DllImport("AtnDll2.dll",CharSet CharSet.Ansi)]public static extern …

k8s更新

k8s更新 1.30 升级了 Metrics Server 到 v0.7.0 kubectl get cronjob命令增加了时区列显示 kubectl describe命令在描述VolumeAttributesClass、作业、Pod 模板等时提供了更多信息,有助于深入排查问题。 改进了kubectl logs命令,当 Pod 未找到时会显示所…