表复制和去重
-- 先把emp表的记录复制到T1表中
desc emp;
create table T1(
empno int(4) not null,
ename varchar(10),
job varchar(9),
mgr int(4),
hiredate date,
sal double(7,2),
comm double(7,2),
deptno int(2));
select count(*) from T1;
-- 先把emp表的记录复制到T1表中
insert into T1(empno,ename,job,mgr,sal,comm) select empno,ename,job,mgr,sal,comm from emp;
-- 表T1自我复制
insert into T1 select * from T1;
-- 如何删除掉一张表中的重复记录
-- 1、先创建一张表T2
create table T2(
empno int(4) not null,
ename varchar(10),
job varchar(9),
mgr int(4),
hiredate date,
sal double(7,2),
comm double(7,2),
deptno int(2));
-- 2、让T1中的记录使用distinct去重后复制到T2表中
insert into T2 select distinct * from T1;
-- 3、然后删除T1表中的数字,将T2表中的数据复制到T1中
delete from T1;
insert into T1 select * from T2;
-- 删掉T2即可
drop table T2;
select count(*) from T1;
合并查询
-- 合并查询
-- union all 就是将两个查询结果合并,不会去重
select ename,sal,job from emp where sal > 2500
union all
select ename,sal,job from emp where job='MANAGER';
-- union就是将两个查询结果合并,会去重
select ename,sal,job from emp where sal > 2500
union
select ename,sal,job from emp where job='MANAGER';
外连接
左连接,将左表内容全部显示
右连接,将右表内容全部显示