SQL中对两个集合取差集运算,使用except关键字,语法格式如下:

SELECT column_name(s) FROM table_name1
EXCEPT
SELECT column_name(s) FROM table_name2

输出为在前一个集合中存在,而不存在于第二个集合的元组。

如果,选取两个元组,并且元组名称不同会出现什么结果呢?

使用之前使用过的示例,构建代码如下:

create table employee
(empname char(6),
numchildren int
) create table dependent
(depname char(6),
age int
) insert into employee values('haohao',2);
insert into employee values('haohao',4);
insert into employee values('fgsd',5);
insert into employee values('hds',7);
insert into employee values('hauuo',9);
insert into employee values('hsao',4);
insert into employee values('hhao',5); insert into dependent values('haohao',2);
insert into dependent values('hdgso',2);
insert into dependent values('hreo',2);
insert into dependent values('hjh',2);
insert into dependent values('haaao',2);

  对于两个含有不同属性的工作表,使用except操作:

(select  empname,numchildren
from employee)
except
(select depname,age
from dependent)

输出结果如下:

"hds ";7
"hhao ";5
"hsao ";4
"hauuo ";9
"haohao";4
"fgsd ";5

列的名字为“empname”和“numchildren”,是employee的属性。

测试完毕,except操作还是会根据定义,筛选出符合要求的结果。

  

  现在玩点新花样

如果两个表的属性数目不同,会出现什么样的结果呢?

新构建一个数据表,代码如下:

create table newone
(newname char(6),
newnum int,
tel int
)

插入数据:

insert into newone values('haohao',2,6);
insert into newone values('haohao',5,6);
insert into newone values('haoyo',2,6);
insert into newone values('h6ao',2,6);
insert into newone values('hrhao',2,6);

语句出错,显示结果为:

错误: 每一个 EXCEPT 查询必须有相同的字段个数
LINE 4: (select depname,age
^

********** Error **********

错误: 每一个 EXCEPT 查询必须有相同的字段个数
SQL state: 42601

Character: 57

SQL中对于两个不同的表中的属性取差集except运算的更多相关文章

  1. sql之将一个表中的数据注入另一个表中

    sql之将一个表中的数据注入另一个表中 需求:现有两张表t1,t2,现需要将t2的数据通过XZQHBM相同对应放入t1表中 t1: t2: 思路:left join 语句: select * from ...

  2. SQL语句的使用,SELECT - 从数据库表中获取数据 UPDATE - 更新数据库表中的数据 DELETE - 从数据库表中删除数据 INSERT INTO - 向数据库表中插入数据

    SQL DML 和 DDL 可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL). SQL (结构化查询语言)是用于执行查询的语法. 但是 SQL 语言也包含用于更新. ...

  3. vlookup函数基本使用--如何将两个Excel表中的数据匹配;excel表中vlookup函数使用方法将一表引到另一表

    vlookup函数基本使用--如何将两个Excel表中的数据匹配:excel表中vlookup函数使用方法将一表引到另一表 一.将几个学生的籍贯匹配出来‘ 二.使用查找与引用函数 vlookup 三. ...

  4. 如何使用MySQL一个表中的字段更新另一个表中字段

    [本文出自:https://www.jb51.net/article/150323.htm] 这篇文章主要介绍了如何使用MySQL一个表中的字段更新另一个表中字段,需要的朋友可以参考下 1,修改1列 ...

  5. SqlServer中怎么删除重复的记录(表中没有id)

    SqlServer中怎么删除重复的记录(表中没有id) 其实我在别的网址也查到过删除重复的记录,不知道我是我SqlServer2012版本太低还是啥原因 delete from scwhere (c# ...

  6. 使用spark将内存中的数据写入到hive表中

    使用spark将内存中的数据写入到hive表中 hive-site.xml <?xml version="1.0" encoding="UTF-8" st ...

  7. hbase使用MapReduce操作4(实现将 HDFS 中的数据写入到 HBase 表中)

    实现将 HDFS 中的数据写入到 HBase 表中 Runner类 package com.yjsj.hbase_mr2; import com.yjsj.hbase_mr2.ReadFruitFro ...

  8. Sql server的Merge语句,源表中如果有重复数据会导致执行报错

    用过sql server的Merge语句的开发人员都应该很清楚Merge用来做表数据的插入/更新是非常方便的,但是其中有一个问题值得关注,那就是Merge语句中的源表中不能出现重复的数据,我们举例来说 ...

  9. mysql从一个表中拷贝数据到另一个表中sql语句

    这一段在找新的工作,今天面试时,要做一套题,其中遇到这么一句话,从一个表中拷贝所有的数据到另一个表中的sql是什么? 原来我很少用到,也没注意过这个问题,面试后我上网查查,回来自己亲手写了写,测试了下 ...

随机推荐

  1. C#成员函数直接调用和反射+委托的性能比较

    using System; using System.Reflection; using System.Diagnostics; namespace Refl { class Test { publi ...

  2. windows安装mysql5.7

    1下载mysql http://dev.mysql.com/downloads/mysql/2解压后,新建一个data文件夹,复制my-default.ini,并改名为my.ini,添加下面内容[cl ...

  3. QT C1041错误

    使用QT Createor + MSVC2013写程序时.我复制了一份之前OK的代码到新的工程中,工程名字和之前的工程一样,出现了奇怪的错误.开始程序总是崩溃,后来我删掉shadow build目录, ...

  4. 使用Java 多线程编程 让三个线程轮流输出ABC,循环10次后结束

    简要分析: 要求三个线程轮流输出,这里我们要使用一个对象锁,让关键部分的代码放入同步块当中.同时要有一个变量记录打印的次数到达10次循环后不再打印,另外一个就是要给每个线程一个标志号,我们根据标识号来 ...

  5. AngularJS 技术总结

    学习AngularJS,并且能在工作中使用到,算是很幸运了.因此本篇也会搜集各种资料,进行分享. 书籍分享 AngularJS权威指南 常用链接 AngularJS API文档 AngularJS 用 ...

  6. mysql [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist (转载)

    mysql报错Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist 2013-11-2 ...

  7. Excel 自动更正

    当有复杂的字段需要重复填写怎么办呢,比如××银行卡号,××电话号码,××公司地址等.可以使用excel的"自动更正"功能解决. 1. Excel 2010的自动更正选项在哪里呢 2 ...

  8. easyui-textbox回车事件

    $('#id').textbox('textbox').keydown(function (e) { if (e.keyCode == 13) { alert('enter'); } });

  9. PHP异常处理函数set_exception_handler()的用法

    定义和用法 set_exception_handler() 函数设置用户自定义的异常处理函数. 该函数用于创建运行时期间的用户自己的异常处理方法. 该函数会返回旧的异常处理程序,若失败,则返回 nul ...

  10. phpcms专题路径修改

    两个文件改三处就可以了,既可以后台点击专题列表链接问题,也可以解决生成专题多一个“/”的问题. 1.\phpcms\modules\special\classes\html.class.php大概第1 ...