kecheng fenshu
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 语文 81
王五 数学 100
王五 英语 90
a): select distinct name from tab9 where name not in (select distinct name fromtab9 where fengshu<=80)
b): select * from tab9 t7 where t7.name not in (select t5.name from (select * from(select t1.kecheng from tab9 t1 group by t1.kecheng),(select t2.name from tab9 t2group by t2.name)) t4,(select * from tab9) t5 where t4.name = t5.name and t4.kecheng = t5.kecheng and t5.fengshu < 80)
8.一个叫department的表,里面只有一个字段name,一共有4条纪录,分别是a,b,c,d,对应四个球对,现在四个球对进行比赛,用一条sql语句显示所有可能的比赛组合.
select t.bh||’vs’||t1.bh from tab10 t,tab10 t1 where t.bh<>t1.bh这个是分主客场的
select t.bh||’vs’||t1.bh from tab10 t,tab10 t1 where t.bh<>t1.bh and t.bh>t1.bh这个是不分的
9.怎么把这样一个表儿
year month amount
1991 1 1.1
1991 2 1.2
1991 3 1.3
1991 4 1.4
1992 1 2.1
1992 2 2.2
1992 3 2.3
1992 4 2.4
查成这样一个结果
year m1 m2 m3 m4
1991 1.1 1.2 1.3 1.4
1992 2.1 2.2 2.3 2.4
a):
select t.year,
(select a.amout from tab11 a where a.month=1 and a.year=t.year) m1,
(select b.amout from tab11 b where b.month=2 and b.year=t.year) m2,
(select c.amout from tab11 c where c.month=3 and c.year=t.year) m3,
(select d.amout from tab11 d where d.month=4 and d.year=t.year) m4
from tab11 t group by t.year
10.拷贝表(拷贝数据,源表名:a 目标表名:b)
SQL: insert into b(a, b, c) select d,e,f from b;
create table test as select * from dept; –从已知表复制数据和结构
create table test as select * from dept where 1=2; –从已知表复制结构但不包括数据
11.显示文章、提交人和最后回复时间
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b
12.日程安排提前五分钟提醒
13.两张关联表,删除主表中已经在副表中没有的信息
delete from fubiao a where a.fid not in(select id from zhubiao)
14.有两个表tab12和tab13,均有key和value两个字段,如果tab13的key在tab12中也有,就把tab13的value换为tab12中对应的value
update tab13 set value=(select value from tab12 where tab12.key=tab13.key)
15.原表:
courseid coursename score
————————————-
1 java 70
2 oracle 90
3 xml 40
4 jsp 30
5 servlet 80
————————————-
为了便于阅读,查询此表后的结果显式如下(及格分数为60):
courseid coursename score mark
—————————————————
1 java 70 pass
2 oracle 90 pass
3 xml 40 fail
4 jsp 30 fail
5 servlet 80 pass
—————————————————
select t.courseid,t.coursename,t.score,(case when score>60 then ’pass’ else ’fail’end) mark from tab14 t
16.表15
a1 a2
1 a
1 b
2 x
2 y
2 z
用select能选成以下结果吗?
1 ab
2 xyz
17.题为
有两个表, t1, t2,
Table t1:
SELLER | NON_SELLER
—– —–
A B
A C
A D
B A
B C
B D
C A
C B
C D
D A
D B
D C
Table t2:
SELLER | BAL
—— ——–
A 100
B 200
C 300
D 400
要求用SELECT 语句列出如下结果:——如A的SUM(BAL)为B,C,D的和,B的SUM(BAL)为A,C,D的和…….
且用的方法不要增加数据库负担,如用临时表等