zoukankan      html  css  js  c++  java
  • sql求两表的并集、交集、非交集、差集、结果集排序

    create table A(
     id int IDENTITY(1,1) Not null primary key,
     name varchar(20) not null default(''),
    )
    INSERT INTO [A]([name]) VALUES('a')
    INSERT INTO [A]([name]) VALUES('b')
    INSERT INTO [A]([name]) VALUES('c')
    INSERT INTO [A]([name]) VALUES('d')
    INSERT INTO [A]([name]) VALUES('e')
    INSERT INTO [A]([name]) VALUES('f')
    INSERT INTO [A]([name]) VALUES('g')
    
    create table B(
     id int IDENTITY(1,1) Not null primary key,
     name varchar(20) not null default(''),
    )
    
    INSERT INTO [B]([name]) VALUES('a')
    INSERT INTO [B]([name]) VALUES('b')
    INSERT INTO [B]([name]) VALUES('c')
    INSERT INTO [B]([name]) VALUES('d')
    INSERT INTO [B]([name]) VALUES('h')
    INSERT INTO [B]([name]) VALUES('i')
    INSERT INTO [B]([name]) VALUES('j')
    SELECT * from A union select * from B  --查询AB表的并集重复的项只显示一个
    SELECT * from A union all select * from B ----查询AB表的并集重复的也显示
    SELECT * from A union all select * from B  order by id asc ---查询AB表的并集重复的也显示,并按照id升序
    SELECT * from A INTERSECT select * from B ----查询两表的交集
    SELECT * from A EXCEPT select * from B ----查询A表中不与B表重复的记录
    --查询AB两表中所有非交集的记录
    (SELECT * from A EXCEPT select * from B) union (SELECT * from B EXCEPT select * from A) 
  • 相关阅读:
    DB-MySQL:MySQL 正则表达式
    DB-MySQL:MySQL 事务
    DB-MySQL:MySQL 索引
    DB-MySQL:MySQL 临时表
    DB-MySQL:MySQL 复制表
    DB-MySQL:MySQL 序列使用
    DB-MySQL:MySQL 处理重复数据
    DB-MySql:MySQL 及 SQL 注入
    mysql
    PHP+jQuery 注册模块的改进之一:验证码存入SESSION
  • 原文地址:https://www.cnblogs.com/25miao/p/10611518.html
Copyright © 2011-2022 走看看