数据库
刷题参考:https://blog.csdn.net/u012467492/article/details/46790205
https://blog.csdn.net/Hectorhua/article/details/13767361
1.
1.1 用一条SQL语句查询出每门课都大于80分的学生姓名。
1.2 删除除了自动编号不同,其他都相同的学生冗余信息。
建表语句
drop table gradeT;
CREATE TABLE gradeT (
name varchar(255) NOT NULL,
kecheng varchar(255) NOT NULL,
fenshu number(4) NOT NULL
)
INSERT INTO gradeT VALUES ('张三', '语文', 81);
INSERT INTO gradeT VALUES ('张三', '数学', 75);
INSERT INTO gradeT VALUES ('李四', '语文', 76);
INSERT INTO gradeT VALUES ('李四', '数学', 90);
INSERT INTO gradeT VALUES ('王五', '语文', 81);
INSERT INTO gradeT VALUES ('王五', '数学', 100);
INSERT INTO gradeT VALUES ('王五', '英语', 90);
参考:
https://www.cnblogs.com/praglody/p/6854181.html?utm_source=itdadao&utm_medium=referral
https://blog.csdn.net/feinifi/article/details/80279897
总结:注重思路的差别。思考问题的方式,常人是怎么思考的?牛人是怎么思考的?
对比下思考的思路。
写下一开始自己的思考思路,走不通了,就换一条路。
最终再对比下正确的思路和一开始自己写下的思路,反思下为什么一开始自己是这么想的,是知识点
答案:
1.1 select name from grade group by name having min(score)>80;
1.2 delete from student2 where id not in (
select a.id from (select id from student2 group by no,name,coursename,courseno,score) a
);
2.复制表结构(原表:A,新表:B)
答:create table B as select * from A where 1=2;
复制表,包含表数据:
create table B as select * from A ;