某互联网公司针对初级Java开发的几道Sql笔试题(看完保证不亏 )
實不相瞞,我就是題目中所說的初級開發,在曲折的面試道路上,被各大互聯網公司的筆試題吊打。所以,我就整了一個最經典的學生成績表sql練習,保證你看完,有所收獲。
下面是三張表的創表語句,供你們快速練習:
Student表: CREATE TABLE `student` (`sno` varchar(10) NOT NULL,`sname` varchar(10) DEFAULT NULL,`ssex` varchar(10) DEFAULT NULL,`sage` int(50) DEFAULT NULL,`birthday` date DEFAULT NULL,`sstate` int(2) DEFAULT NULL,PRIMARY KEY (`sno`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;Course表: CREATE TABLE `course` (`cno` varchar(10) NOT NULL,`cname` varchar(10) DEFAULT NULL,`cstate` varchar(10) DEFAULT NULL,PRIMARY KEY (`cno`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;SC表: CREATE TABLE `sc` (`sno` varchar(10) NOT NULL,`cno` varchar(10) NOT NULL,`score` int(10) DEFAULT NULL,PRIMARY KEY (`sno`,`cno`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;?Student表:
Course表:
?
SC表:
?
?廢話不講,拿到筆試題,手機打開,開始百度。
1.插入語句:
insert into student(sno,sname,ssex,sage,birthday,sstate)values('7','九九','男',29,'1929-03-03',2)
?2.更新語句:
update student set sage= sage+2 where sname like '張%' and sstate=2
3.簡單查詢:
select count(1) from student where sstate=1 and ssex='女' and sage between15 and 20?
4.連表查詢:
select course.* from course left join sc on course.cno= sc.cno
left join student on student.sno = sc.sno WHERE student.sname='王五'?
??
5.多表條件查詢:
select student.*,avg(score) avg from student left join sc on student.sno = sc.sno
left join course on course.cno = sc.cno
where course.cstate=1
GROUP BY sno HAVING avg(score)>60?
6.說實話這個爛sql,我寫了十幾分鐘,主要是我太菜的原因:
select a.sno,a.score'01語文',b.score'02數學',c.sname from
(select sno,cno,score from sc where cno='1')as a
INNER JOIN
(select sno,cno,score from sc where cno='2')as b
on a.sno=b.sno
INNER JOIN student as c ON c.sno=a.sno
WHERE a.score>b.score?
其實這條語句可以去掉一些的比如連student表,因為他只需要一個sno結果,所以我只是想讓大家看的更清楚些?,多查了兩個字段。
看到這就完了, 下次再不會寫聯查,扇自己的耳瓜子。
還有啊,我整理了一些面試pdf文檔,很多很多,雖然我平時也不看,還不如分享一下呢。
?
?
總結
以上是生活随笔為你收集整理的某互联网公司针对初级Java开发的几道Sql笔试题(看完保证不亏 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: k-means 聚类过程演示
- 下一篇: Java学习之SpringBoot整合S