在看过《SQL基础教程》(作者:MICK)后,陆续面试发现自己的实操确实差很多,又重新学习SQL知识,听了猴子老师新的知乎LIVE,发现这种新的SQL学习方式真好,知识点写的很清楚,也更容易上手了。
LIVE地址:
从零学会SQL:入门www.zhihu.com从零学会SQL:简单查询(作业题以及答案1)
1.创建school数据库
2.数据的插入
INSER INTO student(学号,姓名,出生日期,性别)
VALUES('0001','猴子','1989-01-01','男')
3.已创建完成。
小问题点1.在创建数据的时候把学号和课程号都给少写一个0,我已通过最笨的方式打开表选中改数据修改后勾选应用改变的小对沟。(数据较少时操作,数据量大时,待思索)
小问题点2:在创建数据的时候把课程表和成绩表的名称写错了,需进行修改。具体如下图
从零学会SQL:简单查询 (作业题以及答案2)
-- 查询姓"猴"的学生名单
SELECT 姓名
FROM student
WHERE 姓名 like "猴%";
-- 查询姓名中最后一个字是"猴"的学生名单
SELECT 姓名
FROM student
WHERE 姓名 like "%猴";
-- 查询姓名中带"猴"的学生名单
SELECT 姓名
FROM student
WHERE 姓名 like "%猴%";
从零学会SQL:汇总分析 (作业题以及答案3)
-- 查询课程编号为“0002”的总成绩
select SUM(成绩)
from score
where 课程号='0002';
-- 查询选了课程的学生人数
select count(DISTINCT 学号)
from score;
-- 查询各科成绩最高和最低的分
select 课程号,MAX(成绩),MIN(成绩)
from score
GROUP BY 课程号;
-- 查询每门课程被选修的学生人数
select 课程号,COUNT(学号)as 选修人数
from score
GROUP BY 课程号;
-- 查询平均成绩大于60分学生的学号和平均成绩
select 学号,avg(成绩)
from score
GROUP BY 学号
HAVING avg(成绩)>60;
-- 查询至少选修两门课程的学生学号
select 学号,COUNT(课程号)
from score
GROUP BY 学号
HAVING COUNT(课程号)>2;
-- 查询同名同姓学生名单并统计同名人数
select 姓名,COUNT(姓名)
from student
GROUP BY 姓名
HAVING COUNT(姓名)>=2;
SQL其他练习:
日求三餐:SQL Zoo习题翻译和答案(3-4)zhuanlan.zhihu.comMYSQL安装:
下载MySQL服务端和客户端。
服务端:
猴子:超级详细的mysql数据库安装指南zhuanlan.zhihu.com客户端:
猴子:客户端navicat安装教程zhuanlan.zhihu.com猴子老师的课件,特别有感触的图片整理,以便后期常看常新