/* 表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);
时间: 2024-12-19 23:33:24