码迷,mamicode.com
首页 > 数据库 > 详细

SQL题

时间:2017-08-19 17:01:04      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:字段   mit   char   name   server   team   arc   incr   英语   

1、取出sql表中第31到40的记录(以自动增长ID为主键)

sql server方案:               

select top 10 * from t where id not in (select top 30 id from t order by id ) orde by id

mysql方案:               

select * from t order by id limit 30,10

 oracle方案:               

select * from (select rownum r,* from t where r<=40) where r>30

2、用一条SQL语句 查询出每门课都大于80分的学生姓名

name   kecheng   fenshu
张三     语文       81
张三     数学       75
李四     语文       76
李四     数学       90
王五     语文       81
王五     数学       100
王五     英语       90 

准备数据的sql代码:
create table score(id int primary key auto_increment,name varchar(20),subject varchar(20),score int);
insert into score values
(null,‘张三‘,‘语文‘,81),
(null,‘张三‘,‘数学‘,75),
(null,‘李四‘,‘语文‘,76),
(null,‘李四‘,‘数学‘,90),
(null,‘王五‘,‘语文‘,81),
(null,‘王五‘,‘数学‘,100),
(null,‘王五 ‘,‘英语‘,90);

思路:转化为查出有<80分的学生姓名,然后排除这些学生剩下的就都是>80的了

 select distinct name from score  where  name not in (select distinct name from score where score<=80)

3、所有部门之间的比赛组合
一个叫department的表,里面只有一个字段name,一共有4条纪录,分别是a,b,c,d,对应四个球对,现在四个球对进行比赛,用一条sql语句显示所有可能的比赛组合.

select a.name, b.name from team a, team b where a.name < b.name

  

  

 

SQL题

标签:字段   mit   char   name   server   team   arc   incr   英语   

原文地址:http://www.cnblogs.com/javabg/p/7396863.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!