MySQL数据库干货_16—— SQL99标准中的查询

news2025/2/24 3:22:37

SQL99标准中的查询

MySQL5.7 支持部分的SQL99 标准。

SQL99中的交叉连接(CROSS JOIN)

示例:

使用交叉连接查询 employees 表与 departments 表。

select * from employees cross join departments;
SQL99中的自然连接(NATURAL JOIN)

自然连接

连接只能发生在两个表中有相同名字和数据类型的列上。如果列有相同的名字,但数据类型不同,NATURAL JOIN 语法会引起错误。

自然连接查询

在图片例子中,LOCATIONS 表被用 LOCATION_ID 列连接到 DEPARTMENT表,这是在两个表中唯一名字相同的列。如果存在其它的同名同类型的列,自然连接会使用等值连接的方式连接他们,连接条件的关系为and。

自然连接也可以被写为等值连接:

SELECT d.department_id, d.department_name,

d.location_id , l.city

FROM

departments d , locations l

WHERE

d.location_id = l.location_id;

示例:

使用自然连接查询所有有部门的雇员的名字以及部门名称。

select e.last_name,d.department_name from employees e natural join departments d;
SQL99中的内连接(INNER JOIN)

image-20211110203253221

语法:

  • SELECT 查询列表;
  • FROM 表1 别名;
  • INNER JOIN 连接表(INNER关键字可省略);
  • ON 连接条件;

用ON子句指定连接条件

用ON子句指定更多的连接条件

示例:

查询雇员名字为 Fox 的雇员 ID ,薪水与部门名称。

select e.employee_id,e.salary,d.department_name from employees e inner JOIN departments d on e.department_id = d.department_id where e.last_name = 'Fox';
外连接查询(OUTER JOIN)

孤儿数据(Orphan Data)

孤儿数据是指被连接的列的值为空的数据。

左外连接(LEFT OUTER JOIN)

左外连接

左边的表 (EMPLOYEES) 中即使没有与 DEPARTMENTS 表中匹配的行,该查询

也会取回 EMPLOYEES 表中所有的行。

示例:

查询所有雇员的名字以及他们的部门名称,包含那些没有部门的雇员。

select e.last_name,d.department_name from employees e LEFT OUTER JOIN departments d on e.dept_id = d.department_id;
右外连接(RIGTH OUTER JOIN)

右外连接

右边的表 (DEPARTMENTS ) 中即使没有与 EMPLOYEES 表中匹配的行,该查询

也会取回 DEPARTMENTS 表中所有的行。

示例:

查询所有雇员的名字以及他们的部门名称,包含那些没有雇员的部门。

select  e.last_name,d.department_name from  employees  e RIGHT OUTER JOIN  departments  d on e.DEPARTMENT_ID = d.department_id;
全外连接(FULL OUTER JOIN)

注意: MySQL 中不支持 FULL OUTER JOIN 连接

可以使用 union 实现全完连接。

  • UNION: 可以将两个查询结果集合并,返回的行都是唯一的,如同对整个结果集合使用了 DISTINCT。
  • UNION ALL: 只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据, 那么返回的结果集就会包含重复的数据了。

语法结构

(SELECT  投影列 FROM 表名 LEFT OUTER JOIN  表名 ON  连接条件) 
UNION 
(SELECT  投影列 FROM 表名 RIGHT OUTER JOIN  表名 ON  连接条件)

示例:

查询所有雇员的名字以及他们的部门名称,包含那些没有雇员的部门以及没有部门的雇 员。

(select e.last_name,d.department_name from employees e LEFT OUTER JOIN departments d on  e.department_id =  d.department_id) 
UNION 
(select  e1.last_name,d1.department_name from employees e1 RIGHT OUTER JOIN departments d1 on d1.department_id = e1.department_id)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1159206.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软考中项集成如何画图?计算题怎么考的?

2023下半年软考集成一共考6个批次,10月28日、29日软考集成考了第一、二、三、四批次,11月4日软考集成再考第五批和第六批。 先说一下通过10.28-29得出的软考机考注意事项: 1、草稿纸不能自带,考试现场会发放草稿纸,草…

大数据信息抽取

随着互联网的广泛应用和技术的不断进步,海量数据被产生、存储和共享。这些数据中包含着宝贵的的信息和知识,二大数据信息抽取是正是为了把这些数据中关键、有用的信息提取出来。 大数据信息抽取就是指通过自动化的方式,从大数据中提取有异议…

政务服务技能竞赛中用到的软件和硬件

政务服务技能竞赛包括争上游、抢先机、秀风采、比擂台几个环节,用到选手端平板、评委端平板、主持人平板、抢答器等设备、抢答器等。分别计算团队分和个人分。答题规则和计分方案均较为复杂,一般竞赛软件无法实现,要用到高端竞赛软件&#xf…

【数据结构】顺序表:简单而实用(比较水

前言 最近开始学习数据结构 就重新拾起写博客的习惯 来记录一下 今天就来学一下顺序表和链表 小提示:引用的部分可看可不看 以及 这篇文章使用的是C语言 引入:线性表 在学习顺序表之前 我们先来了解一下线性表 线性表(linear list&#xf…

2023-2024-1 高级语言程序设计-函数

6-1 求m到n之和 本题要求实现一个计算m~n&#xff08;m<n&#xff09;之间所有整数的和的简单函数。 函数接口定义&#xff1a; int sum( int m, int n ); 其中m和n是用户传入的参数&#xff0c;保证有m<n。函数返回的是m~n之间所有整数的和。 裁判测试程序样例&…

模板引擎技术---FreeMarker

什么是模板引擎 模板引擎是一种用于生成动态内容的工具&#xff0c;它将数据和静态模板结合起来&#xff0c;生成最终的文档&#xff08;通常是HTML、XML、JSON等格式&#xff09;&#xff0c;这些文档可以被浏览器或其他客户端解析并展示给用户。模板引擎的主要目的是将数据和…

jquery变焦放大效果

实现效果&#xff1a; jquery变焦放大效果,一般商城网站的商品都会有这样的效果&#xff0c;点击或者鼠标放在图片上时&#xff0c;会展示出一个比较大的图片&#xff0c;让我们对商品观看的更清楚&#xff0c;青柠资源网推荐下载&#xff01; 下载地址 qnziyw点cn/wysc/wytx…

自动化测试实战篇:UI自动化测试用例管理平台搭建

用到的工具&#xff1a;python3 django2 mysql RabbitMQ celery selenium python3和selenium这个网上很多教程&#xff0c;我不在这一一说明&#xff1b; 平台功能介绍&#xff1a; 项目管理&#xff1a;用于管理项目。每个项目可以设置多个环境&#xff0c;例如开发环境…

2023年11月1日蜻蜓C影视追剧系统v1.2.2更新-与时俱进调整微信登录授权获取方式-修复无法登陆授权

2023年11月1日蜻蜓C影视追剧系统v1.2.2更新-与时俱进调整微信登录授权获取方式-修复无法登陆授权 问题背景&#xff1a; 小程序用户头像昵称获取规则调整公告官方 微信团队2022-05-09 更新时间&#xff1a;2022年11月9日 由于 PC/macOS 平台「头像昵称填写能力」存在兼容性问…

“Lazada API揭秘:按关键字搜索商品,轻松掌握电商未来!“

Lazada的API可以按关键字搜索商品。请求参数包括&#xff1a; key&#xff1a;调用key&#xff0c;必须以GET方式拼接在URL中。secret&#xff1a;调用密钥。qshoe&&#xff1a;要搜索的关键字。start_price&end_price&&#xff1a;价格范围&#xff0c;可按价格筛…

HackTheBox-Starting Point--Tier 1---Pennyworth

文章目录 一 题目二 实验过程 一 题目 Tags Web、Common Applications、Jenkins、Java、Reconnaissance、Remote Code Execution、Default Credentials译文&#xff1a;Web、常见应用、Jenkins、Java、侦察、远程代码执行、默认凭证Connect To attack the target machine, y…

行情分析——加密货币市场大盘走势(11.1)

大饼短期内处于震荡&#xff0c;目前在吸血山寨。对于做中长线的也是可以秉持“做多大饼&#xff0c;做空山寨“的原则。目前大饼依然保持逢低做多即可&#xff0c;短期内依然不容易下跌。稳健的朋友&#xff0c;大家可以不做大饼。 以太目前也是处在震荡向上过程&#xff0c;以…

浅谈电动汽车充电桩检测技术的实现

叶根胜 安科瑞电气股份有限公司 上海嘉定 201801 摘要&#xff1a; 关键词&#xff1a;电动直流和交流充电桩是我国电动汽车充电桩中运行量较大的一种。为了保持正常运行和使用&#xff0c;应高度重视检测、运行和维护工作。因此&#xff0c;有关部门应做好充电桩的检测工作…

MIT6.5830 Lab1-GoDB实验记录(二)

MIT6.5830 Lab1-GoDB实验记录&#xff08;二&#xff09; – WhiteNights Site 标签&#xff1a;Golang, 数据库 接下来我们将完成tuple.go的缺失代码&#xff0c;并通过tuple_test.go的测试。 实验步骤 观察tuple.go 观察肯定是第一步&#xff0c;先打开tuple.go。 快300行代…

【嵌入式开发学习】__hex文件、bin文件、axf文件的区别

目录 前言 一、编译的过程 二、可烧录的文件 三、离线文件的烧录方法 (*&#xffe3;︶&#xffe3;)创作不易&#xff01;期待你们的 点赞、收藏和评论喔。 前言 在STM32开发中&#xff0c;经常会碰到hex文件、bin文件、axf文件&#xff0c;这些都是可以烧写到板子里运…

股神巴菲特靠押注加密获巨额利润?比特币成不确定时代的投资选择!

股神巴菲特(Warren Buffett)以前曾将比特币描述为“老鼠药”&#xff0c;表达了对加密货币发展的悲观看法。然而他却通过持有一家对比特币友好的银行的股票&#xff0c;获得了巨额利润。 据悉&#xff0c;伯克希尔哈撒韦公司在2021年6月向Nu Holdings投资了5亿美元&#xff0c;…

Latex排版SIGGRAPH总结(持续总结中...)

本文学习总结自&#xff1a;How to use the ACM SIGGRAPH / TOG LaTeX template 相关文件&#xff1a;百度网盘 首先解压 “my paper” 中的文件&#xff0c;并用Latex打开mypaper.tex. 多行连等公式 \begin{equation}表示编号公式&#xff0c;\[ \]表示无编号公式 无编号\b…

设计模式—创建型模式之建造者模式

设计模式—创建型模式之建造者模式 如果我们创建的对象比较复杂&#xff0c;但其细节还要暴露给使用者&#xff0c;这样就需要用到建造者模式。 建造者设计模式&#xff0c;屏蔽过程&#xff0c;而不屏蔽细节。 比如我们有一个手机类&#xff0c;定义如下&#xff1a; publ…

在 Linux 中更改 echo 的输出颜色

文章目录 前言一、快速入门二、基本使用2.1 对于常规的输出2.2 对于字体加粗的输出2.3 对于字体斜体的输出2.4 对于带下划线的输出2.5 对于闪烁效果的输出 三、小结 前言 在计算机编程世界中&#xff0c;颜色不仅仅是一种视觉效果&#xff0c;它也是一种信息传递的工具。特别是…

ES-初识ES

文章目录 介绍ElasticSearchElasticSearch的主要功能ElasticSearch的主要特性ElasticSearch的家族成员LogStashKibanaBeats ELK&#xff08;ElasticSearch LogStash Kibana&#xff09;的应用场景与数据库集成指标采集/日志分析 安装和配置ElasticSearch一、安装1、下载ES安装…