`
dongmoo
  • 浏览: 1528 次
  • 性别: Icon_minigender_1
  • 来自: 山东
社区版块
存档分类
最新评论

sql随笔-面试题(一)

    博客分类:
  • sql
阅读更多

作者:董存阔(本博客均为原创文章,转载请注明出处)

先把测试环境搭上(本sql测试平台为 Mysql 5.5)

 

create table `s` (
	`sno` double ,
	`sname` varchar (60)
); 
insert into `s` (`sno`, `sname`) values('1','董存阔');
insert into `s` (`sno`, `sname`) values('2','董存涛');
insert into `s` (`sno`, `sname`) values('3','董存博');
---------------------
create table `c` (
	`cno` double ,
	`cname` varchar (765),
	`cteacher` varchar (765)
); 
insert into `c` (`cno`, `cname`, `cteacher`) values('1','语文','李明');
insert into `c` (`cno`, `cname`, `cteacher`) values('2','数学','大四');
insert into `c` (`cno`, `cname`, `cteacher`) values('3','英语','大喜子');
-------------------------
create table `sc` (
	`cno` double ,
	`sno` double ,
	`score` double 
); 
insert into `sc` (`cno`, `sno`, `score`) values('1','1','30');
insert into `sc` (`cno`, `sno`, `score`) values('1','2','10');
insert into `sc` (`cno`, `sno`, `score`) values('2','1','20');
insert into `sc` (`cno`, `sno`, `score`) values('2','3','100');
insert into `sc` (`cno`, `sno`, `score`) values('3','3','86');
insert into `sc` (`cno`, `sno`, `score`) values('3','1','10');

 sql语句:-- 找出没有选修过“李明”老师讲授课程的所有学生姓名

SELECT sname FROM  s WHERE sno NOT IN (
SELECT sno FROM 
(SELECT cno FROM c WHERE cteacher='李明') c
JOIN sc ON sc.cno = c.cno
)
-- 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩 
SELECT s.sname ,hx.score  FROM 
( SELECT sno, AVG(score) AS score FROM sc WHERE score <60   GROUP BY sno HAVING COUNT(sno)>=2
)hx JOIN s 
ON   hx.sno=s.sno
-- 列出既学过“1”号课程,又学过“2”号课程的所有学生姓名
SELECT sname FROM  s JOIN (
SELECT sno FROM sc WHERE (cno=1 OR cno=2) GROUP BY sno HAVING COUNT(sno)=2
)t WHERE s.sno=t.sno 
-- 列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号
SELECT t1.sno FROM 
(SELECT sno,score FROM sc WHERE cno=1) t1 JOIN (SELECT sno,score FROM sc WHERE cno=2) t2
WHERE t1.score>t2.score
-- 列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩
SELECT t1.sno,t1.score FROM 
(SELECT sno,score FROM sc WHERE cno=1) t1 JOIN (SELECT sno,score FROM sc WHERE cno=2) t2
WHERE t1.score>t2.score
0
5
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics