比如有两个表:“班级1”和“班级2 ”
班级1里:学生和学号,成绩
班级2里:学生和学号,成绩
我想取两个表里成绩大于90的 并且按照成绩排序
这样的sql语句怎么写呀?关键是怎么按成绩排序呢?
改正一下:
select 班级+班级,
*
from (
select *,1 as 班级 from 班级1
union all
select * ,2 from 班级2
)t
where 成绩>90
order by 班级,成绩 desc
select 学生,学号,成绩 from 班级1 where 成绩>90
union
select 学生,学号,成绩 from 班级2 where 成绩>90
order by 成绩
直接这样就可以了:
select * from 班级1 where 成绩>90
union
select * from 班级2 where 成绩>90
order by 成绩
给它加上括号更好理解点:
(select * from 班级1 where 成绩>90
union
select * from 班级2 where 成绩>90
)
order by 成绩
两个表数据结构相同吧
select * from
select * from 班级1 where 成绩>90
order by 成绩
union all
select * from 班级2 where 成绩>90
order by 成绩
那你就这样写吧
create table #pen (学生 char(20),学号 int,成绩 dec(14,3))
insert into #pen
select * from 班级1 where 成绩>90
order by 成绩
insert into #pen
select * from 班级2 where 成绩>90
order by 成绩
select * from #pen where 成绩>90 order by 成绩
可以用一个临时表把这两个表组合起来,再进行查询,应该更加简单.