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

数据库中sql语句复习

时间:2015-09-07 22:58:23      阅读:434      评论:0      收藏:0      [点我收藏+]

标签:

/*
表T中某属性(xx)重复出现N次的所以记录。
eg:表A 中 姓名重复出现3次以上的所以记录。
思路:先找出超过了3次的姓名有哪些,再把这些姓名的记录提取出来。
*/
select * from A where name in (
select name form A group by name having count(name)>3 
)


/*
查询A表中第n至m条记录
eg:查询A(ID,Name)表中第31至40条记录
*/
mysql ::  Select * from A limit 30,10;  ( mysql 中的limit )
//找出前30的id ,再找出不在这30里面的前10条
select top 10 * from A  where id not in (select top 30 id from A))

学生信息表s(sno,sname,age,sex) 学号,姓名,年龄 和性别
选课信息表sc(sno,cno,  scgrade ) 学号,课程号,成绩
课程信息表c(cno,cname,ct) 课程号,课程名,授课老师
同时选修了课程名为“1”和“2”的学生的学号和姓名
//分析:课程名可以对应出唯一的课程号,学生号对应出唯一的学生信息,最后把关系都集中到sc中来
select sno  ,sname from s where sno  in(
 select sc.sno from  sc,c where sc.cno=c.cno and cname in(‘1‘ ,‘2‘) group by sno count(distinct cno)=2);


数据库中sql语句复习

标签:

原文地址:http://my.oschina.net/dadou/blog/502525

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