[sql]sql中分组查询/union/join

分组函数

max
min
sum
avg
count

分组前查询: where条件

查询邮箱中包含a字符的,每个部门的平均工资

分组后查询: having

查询每个部分的员工数
哪个部门员工数大于2

子查询

union联合查询

将两个表结果合并为一张表
1.字段列数一样 2.默认会去重

select name,age from user
union
select name,age from user2;

SQL中连接(JOIN)的用法

select * from student s join classes c on s.cid = c.id;

MySQL复制表结构和内容到另一张表

复制表结构及数据到新表 

create table 新表
select * from 旧表  
只复制表结构到新表

select table 新表
select * from 旧表 where 1=2
即:让where条件不成立.

方法二:(低版本的MySQL不支持,MySQL 4.0.25不支持,MySQL 5已经支持了)

create table 新表
like 旧表 
复制旧表的数据到新表(假设两个表结构一样)

insert into 新表
select * from 旧表 
复制旧表的数据到新表(假设两个表结构不一样)

insert into 新表(字段1,字段2,…….)
select 字段1,字段2,…… from 旧表
posted @ 2020-04-17 11:01  mmaotai  阅读(483)  评论(0编辑  收藏  举报