mysql交集_MySQL交集INTERSECT运算符
在本教程中,我们将向您介绍SQL INTERSECT运算符,并展示如何模拟MySQL INTERSECT运算符(交集)。
1. SQL INTERSECT操作符简介
INTERSECT运算符是一个集合运算符,它只返回两个查询或更多查询的交集。
以下说明INTERSECT运算符的语法。
(SELECT column_list FROM table_1) INTERSECT (SELECT column_list FROM table_2);
INTERSECT运算符比较两个查询的结果,并返回由左和右查询输出的不同行记录。
要将INTERSECT运算符用于两个查询,应用以下规则:
列的顺序和数量必须相同。
相应列的数据类型必须兼容或可转换。
下图说明了INTERSECT运算符。
左侧查询产生一个结果集(1,2,3),右侧查询返回一个结果集(2,3,4)。
INTERSECT操作符返回包含(2,3),也就是两个结果集的相叉的行记录。与UNION运不同,INTERSECT运算符返回两个集合之间的交点。
请注意,SQL标准有三个集合运算符,包括,INTERSECT和。
2. MySQL INTERSECT模拟
不幸的是,MySQL不支持INTERSECT操作符。 但是我们可以模拟INTERSECT操作符。
我们为演示创建一些示例数据。
以下语句表t1和t2,然后将数据到两个表中。
USE testdb; DROP TABLE IF exists t1; DROP TABLE IF exists t2; CREATE TABLE t1 ( id INT PRIMARY KEY ); CREATE TABLE t2 LIKE t1; INSERT INTO t1(id) VALUES(1),(2),(3); INSERT INTO t2(id) VALUES(2),(3),(4);
以下从t1表查询返回行记录如下 –
mysql> SELECT id FROM t1; +----+ | id | +----+ | 1 | | 2 | | 3 | +----+ 3 rows in set
以下从t2表查询返回行记录如下 –
mysql> SELECT id FROM t2; +----+ | id | +----+ | 2 | | 3 | | 4 | +----+ 3 rows in set
使用DISTINCT运算符和INNER JOIN子句模拟MySQL INTERSECT运算符
以下语句使用运算符和子句来返回两个表中的相交集合:
SELECT DISTINCT id FROM t1 INNER JOIN t2 USING(id);
执行上面查询语句,得到以下结果 –
+----+ | id | +----+ | 2 | | 3 | +----+ 2 rows in set
上面语句是怎么工作的?
INNER JOIN子句从左表和右表返回所有符合条件的行记录。
DISTINCT运算符删除重复行。
使用IN运算符和子查询模拟MySQL INTERSECT运算符
以下语句使用和返回两个结果集的交集。
SELECT DISTINCT id FROM t1 WHERE id IN (SELECT id FROM t2);
执行以上查询语句,得到以下结果 –
+----+ | id | +----+ | 2 | | 3 | +----+ 2 rows in set
上面查询语句是如何工作的?
子查询返回第一个结果集。
外部查询使用IN运算符仅选择第一个结果集中的值。DISTINCT运算符确保只选择不同的值。
在本教程中,您已经学习了几种方法来模拟MySQL中的INTERSECT(交集)运算符。
¥ 我要打赏 纠错/补充 收藏
mysql交集_MySQL交集INTERSECT运算符相关推荐
- mysql交集_mysql交集INTERSECT运算符的具体应用方法
集合论中,设A,B是两个集合,由所有属于集合A且属于集合B的元素所组成的集合,叫做集合A与集合B的交集(intersection),记作A∩B. INTERSECT运算符是一个集合运算符,它仅返回两个 ...
- 获取两个数据的交集_MySQL交集和差集的实现方法
在MySQL中,只支持Union(并集)集合运算,而对于交集Intersect和差集Except并不支持.那么如何才能在MySQL中实现交集和差集呢? 一般在MySQL中,我们可以通过in和not i ...
- mysql 交集_MYSQL交集函数
BEGIN DECLARE idx INT DEFAULT 0 ; -- B 集合单元索引 DECLARE len INT DEFAULT 0;-- B 集合表达式长度 DECLARE llen IN ...
- mysql相交_MySQL相交
MySQL的相交 INTERSECT运算符是SQL中的一种SET操作,包括UNION,UNION ALL,MINUS和INTERSECT. INTERSECT运算符从两个或多个表中返回两组或公共记录中 ...
- mysql intersect 使用方法_MySQL INTERSECT运算符
MySQL INTERSECT运算符 简介:在本教程中,我们将向您介绍SQL INTERSECT运算符,并向您展示如何模拟MySQL INTERSECT运算符. SQL INTERSECT 运算符简介 ...
- mysql数据库取交集_不同数据库取并集、交集、差集
一.并集: 需求:汇总t1.t2两表的数据 mysql.postgresql.oracle数据库取并集都是用union/union all关键字,不再赘述 二.交集: 需求:选出既在t1表又在t2表的 ...
- mysql 除号_MySql的运算符-阿里云开发者社区
数据库中的表结构确立后,表中的数据代表的意义就已经确定.而通过MySQL运算符进行运算,就可以获取到表结构以外的另一种数据.例如,学生表中存在一个birth字段,这个字段表示学生的出生年份.而运用My ...
- GBase8s数据库INTERSECT 运算符
当通过此集合运算符组合两个查询时,INTERSECT 计算通过为其运算对象的两个查询返回的行的 交集. INTERSECT 返回的行展现在左边和右边的 SELECT 语句的结果集中.INTERSECT ...
- mysql用语_mysql基本sql语句大全(基础用语篇)
1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 备份 ...
最新文章
- Xamarin XAML语言教程将XAML设计的UI显示到界面
- 第二章 spring
- 一年拿下软考中高级+PMP是一种怎样的体验?
- CSS的overflow属性:显示 隐藏 滚动显示 自动显示 继承
- 如何通过调试的方式搞清楚Angular createEmbeddedView具体创建的UI元素是什么
- Kubernetes中分布式存储Rook-Ceph的使用:一个ASP.NET Core MVC的案例
- Mobius 一个运行在 .NET Core 上的 .NET 运行时
- Mybatis笔记——Mybatis入门
- c#设计的简单登录界面
- swift扩展_Swift扩展
- kafka rabbitmq优劣对比_17个方面对比Kafka、RabbitMQ、RocketMQActiveMQ分布式消息队列
- 最全面计算机英语单词列表(二)
- java版我的世界MITE怎么下_MITE纯新手向教程 - [MITE]MC实在是太简单了 (Minecraft Is Too Easy) - MC百科|最大的Minecraft中文MOD百科...
- 云上PDF怎么删除页眉页脚_原来PDF编辑可以跟Word一样简单!去水印、加页眉页脚都不是问题...
- 以某SCI期刊为例说明该期刊投稿须知和流程
- itpt_TCPL 第二章:类型、运算符以及表达式
- python证书有什么用_用Python在获奖证书写上获奖者的名字
- excel计算式自动计算_计算macd 分解步骤一步一步详细计算macd 用excel计算macd
- AAAI 2020 | 清华大学牛人为BabelNet同义词集预测Sememe建立多语言知识库
- java jacob pdf_java-使用Jacob实现office转换成pdf