diff --git a/README.md b/README.md index a9fd61d1..d1155100 100644 --- a/README.md +++ b/README.md @@ -83,9 +83,7 @@ 更多精彩内容将发布在微信公众号 CyC2018 上,你也可以在公众号后台和我交流学习和求职相关的问题。另外,公众号提供了该项目的 PDF 等离线阅读版本,后台回复 "下载" 即可领取。公众号也提供了一份技术面试复习大纲,不仅系统整理了面试知识点,而且标注了各个知识点的重要程度,从而帮你理清多而杂的面试知识点,后台回复 "大纲" 即可领取。我基本是按照这个大纲来进行复习的,对我拿到了 BAT 头条等 Offer 起到很大的帮助。你们完全可以和我一样根据大纲上列的知识点来进行复习,就不用看很多不重要的内容,也可以知道哪些内容很重要从而多安排一些复习时间。 -
- -
+
### 更多内容 diff --git a/assets/Test.cpp b/assets/Test.cpp deleted file mode 100644 index 31a3ad8d..00000000 --- a/assets/Test.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include - -using namespace std; - -int main() { - cout << "CyC OvO" << endl; -} - diff --git a/assets/Test.java b/assets/Test.java deleted file mode 100644 index fec1bb44..00000000 --- a/assets/Test.java +++ /dev/null @@ -1,5 +0,0 @@ -public class Test { - public static void main(String args[]) { - System.out.println("CyC OvO"); - } -} diff --git a/assets/Test.py b/assets/Test.py deleted file mode 100644 index 7042300f..00000000 --- a/assets/Test.py +++ /dev/null @@ -1 +0,0 @@ -print ("CyC OvO"); diff --git a/assets/download.md b/assets/download.md index 8f71a74e..876e0b10 100644 --- a/assets/download.md +++ b/assets/download.md @@ -30,5 +30,5 @@ 离线版本由公众号 **CyC2018** 发布,最新版本也会在上面及时发布,在公众号后台回复 **离线下载** 即可获取下载链接。 -
+
diff --git a/other/sql 经典练习题.sql b/other/sql 经典练习题.sql deleted file mode 100644 index da1ac09b..00000000 --- a/other/sql 经典练习题.sql +++ /dev/null @@ -1,483 +0,0 @@ -use fuxi; - -CREATE TABLE STUDENT -( - SNO VARCHAR(3) NOT NULL, - SNAME VARCHAR(4) NOT NULL, - SSEX VARCHAR(2) NOT NULL, - SBIRTHDAY DATETIME, - CLASS VARCHAR(5) -); - -CREATE TABLE COURSE -( - CNO VARCHAR(5) NOT NULL, - CNAME VARCHAR(10) NOT NULL, - TNO VARCHAR(10) NOT NULL -); - -CREATE TABLE SCORE -( - SNO VARCHAR(3) NOT NULL, - CNO VARCHAR(5) NOT NULL, - DEGREE NUMERIC(10, 1) NOT NULL -); - -CREATE TABLE TEACHER -( - TNO VARCHAR(3) NOT NULL, - TNAME VARCHAR(4) NOT NULL, - TSEX VARCHAR(2) NOT NULL, - TBIRTHDAY DATETIME NOT NULL, - PROF VARCHAR(6), - DEPART VARCHAR(10) NOT NULL -); - -INSERT INTO STUDENT (SNO, SNAME, SSEX, SBIRTHDAY, CLASS) VALUES (108, '曾华' - , '男', '1977-09-01', 95033); -INSERT INTO STUDENT (SNO, SNAME, SSEX, SBIRTHDAY, CLASS) VALUES (105, '匡明' - , '男', '1975-10-02', 95031); -INSERT INTO STUDENT (SNO, SNAME, SSEX, SBIRTHDAY, CLASS) VALUES (107, '王丽' - , '女', '1976-01-23', 95033); -INSERT INTO STUDENT (SNO, SNAME, SSEX, SBIRTHDAY, CLASS) VALUES (101, '李军' - , '男', '1976-02-20', 95033); -INSERT INTO STUDENT (SNO, SNAME, SSEX, SBIRTHDAY, CLASS) VALUES (109, '王芳' - , '女', '1975-02-10', 95031); -INSERT INTO STUDENT (SNO, SNAME, SSEX, SBIRTHDAY, CLASS) VALUES (103, '陆君' - , '男', '1974-06-03', 95031); - -INSERT INTO COURSE (CNO, CNAME, TNO) VALUES ('3-105', '计算机导论', 825); -INSERT INTO COURSE (CNO, CNAME, TNO) VALUES ('3-245', '操作系统', 804); -INSERT INTO COURSE (CNO, CNAME, TNO) VALUES ('6-166', '数据电路', 856); -INSERT INTO COURSE (CNO, CNAME, TNO) VALUES ('9-888', '高等数学', 100); - -INSERT INTO SCORE (SNO, CNO, DEGREE) VALUES (103, '3-245', 86); -INSERT INTO SCORE (SNO, CNO, DEGREE) VALUES (105, '3-245', 75); -INSERT INTO SCORE (SNO, CNO, DEGREE) VALUES (109, '3-245', 68); -INSERT INTO SCORE (SNO, CNO, DEGREE) VALUES (103, '3-105', 92); -INSERT INTO SCORE (SNO, CNO, DEGREE) VALUES (105, '3-105', 88); -INSERT INTO SCORE (SNO, CNO, DEGREE) VALUES (109, '3-105', 76); -INSERT INTO SCORE (SNO, CNO, DEGREE) VALUES (101, '3-105', 64); -INSERT INTO SCORE (SNO, CNO, DEGREE) VALUES (107, '3-105', 91); -INSERT INTO SCORE (SNO, CNO, DEGREE) VALUES (101, '6-166', 85); -INSERT INTO SCORE (SNO, CNO, DEGREE) VALUES (107, '6-106', 79); -INSERT INTO SCORE (SNO, CNO, DEGREE) VALUES (108, '3-105', 78); -INSERT INTO SCORE (SNO, CNO, DEGREE) VALUES (108, '6-166', 81); - -INSERT INTO TEACHER (TNO, TNAME, TSEX, TBIRTHDAY, PROF, DEPART) -VALUES (804, '李诚', '男', '1958-12-02', '副教授', '计算机系'); -INSERT INTO TEACHER (TNO, TNAME, TSEX, TBIRTHDAY, PROF, DEPART) -VALUES (856, '张旭', '男', '1969-03-12', '讲师', '电子工程系'); -INSERT INTO TEACHER (TNO, TNAME, TSEX, TBIRTHDAY, PROF, DEPART) -VALUES (825, '王萍', '女', '1972-05-05', '助教', '计算机系'); -INSERT INTO TEACHER (TNO, TNAME, TSEX, TBIRTHDAY, PROF, DEPART) -VALUES (831, '刘冰', '女', '1977-08-14', '助教', '电子工程系'); - --- 1、 查询Student表中的所有记录的Sname、Ssex和Class列。 -select - SNAME, - SSEX, - CLASS -from STUDENT; - --- 2、 查询教师所有的单位即不重复的Depart列。 -select distinct DEPART -from TEACHER1; - --- 3、 查询Student表的所有记录。 -select * -from STUDENT; - --- 4、 查询Score表中成绩在60到80之间的所有记录。 -select * -from SCORE -where DEGREE > 60 and DEGREE < 80; - --- 5、 查询Score表中成绩为85,86或88的记录。 -select * -from SCORE -where DEGREE = 85 or DEGREE = 86 or DEGREE = 88; - --- 6、 查询Student表中“95031”班或性别为“女”的同学记录。 -select * -from STUDENT -where CLASS = '95031' or SSEX = '女'; - --- 7、 以Class降序查询Student表的所有记录。 -select * -from STUDENT -order by CLASS desc; - --- 8、 以Cno升序、Degree降序查询Score表的所有记录。 -select * -from SCORE -order by CNO asc, DEGREE desc; - --- 9、 查询“95031”班的学生人数。 -select count(*) -from STUDENT -where CLASS = '95031'; - --- 10、查询Score表中的最高分的学生学号和课程号。 -select - sno, - CNO -from SCORE -where DEGREE = ( - select max(DEGREE) - from SCORE -); - --- 11、查询‘3-105’号课程的平均分。 -select avg(DEGREE) -from SCORE -where CNO = '3-105'; - --- 12、查询Score表中至少有5名学生选修的并以3开头的课程的平均分数。 -select - avg(DEGREE), - CNO -from SCORE -where cno like '3%' -group by CNO -having count(*) > 5; - --- 13、查询最低分大于70,最高分小于90的Sno列。 -select SNO -from SCORE -group by SNO -having min(DEGREE) > 70 and max(DEGREE) < 90; - --- 14、查询所有学生的Sname、Cno和Degree列。 -select - SNAME, - CNO, - DEGREE -from STUDENT, SCORE -where STUDENT.SNO = SCORE.SNO; - --- 15、查询所有学生的Sno、Cname和Degree列。 -select - SCORE.SNO, - CNO, - DEGREE -from STUDENT, SCORE -where STUDENT.SNO = SCORE.SNO; - --- 16、查询所有学生的Sname、Cname和Degree列。 -SELECT - A.SNAME, - B.CNAME, - C.DEGREE -FROM STUDENT A - JOIN (COURSE B, SCORE C) - ON A.SNO = C.SNO AND B.CNO = C.CNO; - --- 17、查询“95033”班所选课程的平均分。 -select avg(DEGREE) -from SCORE -where sno in (select SNO - from STUDENT - where CLASS = '95033'); - --- 18、假设使用如下命令建立了一个grade表: -create table grade ( - low numeric(3, 0), - upp numeric(3), - rank char(1) -); -insert into grade values (90, 100, 'A'); -insert into grade values (80, 89, 'B'); -insert into grade values (70, 79, 'C'); -insert into grade values (60, 69, 'D'); -insert into grade values (0, 59, 'E'); --- 现查询所有同学的Sno、Cno和rank列。 -SELECT - A.SNO, - A.CNO, - B.RANK -FROM SCORE A, grade B -WHERE A.DEGREE BETWEEN B.LOW AND B.UPP -ORDER BY RANK; - --- 19、查询选修“3-105”课程的成绩高于“109”号同学成绩的所有同学的记录。 -select * -from SCORE -where CNO = '3-105' and DEGREE > ( - select DEGREE - from SCORE - where SNO = '109' and CNO = '3-105' -); - -set @@global.sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; -set sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; - --- 20、查询score中选学一门以上课程的同学中分数为非最高分成绩的记录 -select * -from SCORE -where DEGREE < (select MAX(DEGREE) - from SCORE) -group by SNO -having count(*) > 1; - --- 21、查询成绩高于学号为“109”、课程号为“3-105”的成绩的所有记录。 --- 同19 - --- 22、查询和学号为108的同学同年出生的所有学生的Sno、Sname和Sbirthday列。 -select - SNO, - SNAME, - SBIRTHDAY -from STUDENT -where year(SBIRTHDAY) = ( - select year(SBIRTHDAY) - from STUDENT - where SNO = '108' -); - --- 23、查询“张旭“教师任课的学生成绩。 -select * -from SCORE -where cno = ( - select CNO - from COURSE - inner join TEACHER on COURSE.TNO = TEACHER.TNO and TNAME = '张旭' -); - --- 24、查询选修某课程的同学人数多于5人的教师姓名。 -select TNAME -from TEACHER -where TNO = ( - select TNO - from COURSE - where CNO = (select CNO - from SCORE - group by CNO - having count(SNO) > 5) -); - --- 25、查询95033班和95031班全体学生的记录。 -select * -from STUDENT -where CLASS in ('95033', '95031'); - --- 26、查询存在有85分以上成绩的课程Cno. -select cno -from SCORE -group by CNO -having MAX(DEGREE) > 85; - --- 27、查询出“计算机系“教师所教课程的成绩表。 -select * -from SCORE -where CNO in (select CNO - from TEACHER, COURSE - where DEPART = '计算机系' and COURSE.TNO = TEACHER.TNO); - --- 28、查询“计算机系”与“电子工程系“不同职称的教师的Tname和Prof -select - tname, - prof -from TEACHER -where depart = '计算机系' and prof not in ( - select prof - from TEACHER - where depart = '电子工程系' -); - --- 29、查询选修编号为“3-105“课程且成绩至少高于选修编号为“3-245”的同学的Cno、Sno和Degree,并按Degree从高到低次序排序。 -select - CNO, - SNO, - DEGREE -from SCORE -where CNO = '3-105' and DEGREE > any ( - select DEGREE - from SCORE - where CNO = '3-245' -) -order by DEGREE desc; - --- 30、查询选修编号为“3-105”且成绩高于选修编号为“3-245”课程的同学的Cno、Sno和Degree. -SELECT * -FROM SCORE -WHERE DEGREE > ALL ( - SELECT DEGREE - FROM SCORE - WHERE CNO = '3-245' -) -ORDER by DEGREE desc; - --- 31、查询所有教师和同学的name、sex和birthday. -select - TNAME name, - TSEX sex, - TBIRTHDAY birthday -from TEACHER -union -select - sname name, - SSEX sex, - SBIRTHDAY birthday -from STUDENT; - --- 32、查询所有“女”教师和“女”同学的name、sex和birthday. -select - TNAME name, - TSEX sex, - TBIRTHDAY birthday -from TEACHER -where TSEX = '女' -union -select - sname name, - SSEX sex, - SBIRTHDAY birthday -from STUDENT -where SSEX = '女'; - --- 33、查询成绩比该课程平均成绩低的同学的成绩表。 -SELECT A.* -FROM SCORE A -WHERE DEGREE < (SELECT AVG(DEGREE) - FROM SCORE B - WHERE A.CNO = B.CNO); - --- 34、查询所有任课教师的Tname和Depart. -select - TNAME, - DEPART -from TEACHER a -where exists(select * - from COURSE b - where a.TNO = b.TNO); - --- 35、查询所有未讲课的教师的Tname和Depart. -select - TNAME, - DEPART -from TEACHER a -where tno not in (select tno - from COURSE); - --- 36、查询至少有2名男生的班号。 -select CLASS -from STUDENT -where SSEX = '男' -group by CLASS -having count(SSEX) > 1; - --- 37、查询Student表中不姓“王”的同学记录。 -select * -from STUDENT -where SNAME not like "王%"; - --- 38、查询Student表中每个学生的姓名和年龄。 -select - SNAME, - year(now()) - year(SBIRTHDAY) -from STUDENT; - --- 39、查询Student表中最大和最小的Sbirthday日期值。 -select min(SBIRTHDAY) birthday -from STUDENT -union -select max(SBIRTHDAY) birthday -from STUDENT; - --- 40、以班号和年龄从大到小的顺序查询Student表中的全部记录。 -select * -from STUDENT -order by CLASS desc, year(now()) - year(SBIRTHDAY) desc; - --- 41、查询“男”教师及其所上的课程。 -select * -from TEACHER, COURSE -where TSEX = '男' and COURSE.TNO = TEACHER.TNO; - --- 42、查询最高分同学的Sno、Cno和Degree列。 -select - sno, - CNO, - DEGREE -from SCORE -where DEGREE = (select max(DEGREE) - from SCORE); - --- 43、查询和“李军”同性别的所有同学的Sname. -select sname -from STUDENT -where SSEX = (select SSEX - from STUDENT - where SNAME = '李军'); - --- 44、查询和“李军”同性别并同班的同学Sname. -select sname -from STUDENT -where (SSEX, CLASS) = (select - SSEX, - CLASS - from STUDENT - where SNAME = '李军'); - --- 45、查询所有选修“计算机导论”课程的“男”同学的成绩表 -select * -from SCORE, STUDENT -where SCORE.SNO = STUDENT.SNO and SSEX = '男' and CNO = ( - select CNO - from COURSE - where CNAME = '计算机导论'); - - - --- 46、使用游标方式来同时查询每位同学的名字,他所选课程及成绩。 - -declare - cursor student_cursor is - select S.SNO,S.SNAME,C.CNAME,SC.DEGREE as DEGREE - from STUDENT S, COURSE C, SCORE SC - where S.SNO=SC.SNO - and SC.CNO=C.CNO; - - student_row student_cursor%ROWTYPE; - -begin - open student_cursor; - loop - fetch student_cursor INTO student_row; - exit when student_cursor%NOTFOUND; - dbms_output.put_line( student_row.SNO || '' || - -student_row.SNAME|| '' || student_row.CNAME || '' || - -student_row.DEGREE); - end loop; - close student_cursor; -END; -/ - - --- 47、 声明触发器指令,每当有同学转换班级时执行触发器显示当前和之前所在班级。 - -CREATE OR REPLACE TRIGGER display_class_changes -AFTER DELETE OR INSERT OR UPDATE ON student -FOR EACH ROW -WHEN (NEW.sno > 0) - -BEGIN - - dbms_output.put_line('Old class: ' || :OLD.class); - dbms_output.put_line('New class: ' || :NEW.class); -END; -/ - - -Update student -set class=95031 -where sno=109; - - --- 48、 删除已设置的触发器指令 - -DROP TRIGGER display_class_changes; -