说明:根据自身的学习经验得出,学习SQL一定要经常动手写,在看完了基础知识之后,可以自己找一些练习题来做。
一、基础语句的学习
SQL语法大全:SQL 语法(练习中或者工作中遇到不会的语法,在这里面都可以找到,对于不会的语法实践几次基本就可以记住了)
下面是我个人在练习或者工作中经常用到的语句:
二、练习平台
SQL ZOO:练习题相对较简单,适合刚学习完语法之后练习,或者边联系一边学习。推荐初学者学习。
Leetcode:前面的题比较简单,后面的题比较难。不太推荐初学者。
牛客网:难题超级难,并且需要把数据表含义吃透,并且OJ系统比较死板,必须按照OJ写才可以,不太推荐初学者。
三、本地数据库练习
其实个人觉得最好的练习平台就是本地练习。就是自己本地安装一个mysql数据库,然后导入练习题数据,每天多2~3道,每一道题尽量弄明白即可。
下面是之前自己练习使用的一个练习库,以及练习题,并且附上了自己的的答案,有需要的同学可以自己新建数据表,然后每道题试着答一下,遇到不会的可以看一下答案。
新建数据表—学生表 Student:
create table Student(SId varchar(10),Sname varchar(10),Sage datetime,Ssex varchar(10));
insert into Student values('01' , '赵雷' , '1990-01-01' , '男');
insert into Student values('02' , '钱电' , '1990-12-21' , '男');
insert into Student values('03' , '孙风' , '1990-12-20' , '男');
insert into Student values('04' , '李云' , '1990-12-06' , '男');
insert into Student values('05' , '周梅' , '1991-12-01' , '女');
insert into Student values('06' , '吴兰' , '1992-01-01' , '女');
insert into Student values('07' , '郑竹' , '1989-01-01' , '女');
insert into Student values('09' , '张三' , '2017-12-20' , '女');
insert into Student values('10' , '李四' , '2017-12-25' , '女');
insert into Student values('11' , '李四' , '2012-06-06' , '女');
insert into Student values('12' , '赵六' , '2013-06-13' , '女');
insert into Student values('13' , '孙七' , '2014-06-01' , '女');
新建数据表—科目表 Course:
create table Course(CId varchar(10),Cname nvarchar(10),TId varchar(10));
insert into Course values('01' , '语文' , '02');
insert into Course values('02' , '数学' , '01');
insert into Course values('03' , '英语' , '03');
新建数据表—教师表 Teacher:
create table Teacher(TId varchar(10),Tname varchar(10));
insert into Teacher values('01' , '张三');
insert into Teacher values('02' , '李四');
insert into Teacher values('03' , '王五');
新建数据表—成绩表 SC:
create table SC(SId varchar(10),CId varchar(10),score decimal(18,1));
insert into SC values('01' , '01' , 80);
insert into SC values('01' , '02' , 90);
insert into SC values('01' , '03' , 99);
insert into SC values('02' , '01' , 70);
insert into SC values('02' , '02' , 60);
insert into SC values('02