SQL MySQL SQL Server 合并查询(union) 复合主键 唯一约束(UNIQUE) 外键 CHECK约束

合并查询(union) UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

SELECT ename, sal, job from emp where sal > 2500;
/*
ename	sal	job
SCOTT	3000.00	ANALYST
KING	5000.00	PRESIDENT
FORD	3000.00	ANALYST
JONES	2975.00	MANAGER
BLAKE	2850.00	MANAGER
*/

SELECT ename, sal, job from emp where job = 'MANAGER';
/*
ename	sal	job
JONES	2975.00	MANAGER
BLAKE	2850.00	MANAGER
*/

-- union all 将两个查询结果合并, 不会去重
SELECT ename, sal, job from emp where sal > 2500 
UNION ALL
SELECT ename, sal, job from emp where job = 'MANAGER';
/*
ename	sal	job
SCOTT	3000.00	ANALYST
KING	5000.00	PRESIDENT
FORD	3000.00	ANALYST
JONES	2975.00	MANAGER
BLAKE	2850.00	MANAGER
JONES	2975.00	MANAGER
BLAKE	2850.00	MANAGER
*/

-- union  将两个查询结果合并, 会去重
SELECT ename, sal, job from emp where sal > 2500 
UNION 
SELECT ename, sal, job from emp where job = 'MANAGER';
/*
ename	sal	job
BLAKE	2850.00	MANAGER
FORD	3000.00	ANALYST
JONES	2975.00	MANAGER
KING	5000.00	PRESIDENT
SCOTT	3000.00	ANALYST
*/

复合主键

---------------------------复合主键---------------------------
-- 普通演示
CREATE TABLE t17 (
		id INT PRIMARY KEY, 
		name VARCHAR(32),
		email VARCHAR(32)
);

INSERT INTO t17 VALUES(1, 'jack', 'jack@ll.com');
INSERT INTO t17 VALUES(2, 'tom', 'tom@ll.com');
-- 错误,主键2不能重复
INSERT INTO t17 VALUES(2, 'tom', 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值