哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10年DBA工作经验
一位上进心十足的【大数据领域博主】!
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程,B站及腾讯课堂讲师,直播量破10W
擅长主流数据Oracle、MySQL、PG 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️
SQL对于现在的互联网公司产研岗位几乎是一个必备技能,但仅会SQL的话,应该是什么都做不了。
1.如果你是数据分析师,你需要熟练地把自己脑子里的数据和指标需求翻译成SQL逻辑去查询数据,进而完成自己的数据分析报告等,你的产出是分析报告,而不是SQL代码;
2.如果你是数仓工程师(偏应用层),你需要根据业务逻辑去设计模型,编写调度任务去产出数据,以供业务人员使用,你的产出是数据模型和表;
3.如果你是算法工程师,你可能需要用SQL来实现用户标签、特征工程等工作,但是这些是为你的模型训练评估做基础准备工作,你的产出是可以提升某些指标的算法模型。
所以,SQL每个人都要用,但是用来衡量产出的并不是SQL本身,你需要用这个工具,去创造其它的价值。
IT邦德老师带你成为SQL高手,那我们开始吧~
本文案例导入以下sql文本即可,通过百度网盘下载
mysql> source h:\db_school.sql
网盘链接:https://pan.baidu.com/s/1rvJhB6it8rvOMeqMjRAGlg?pwd=0hx1
查询每个学生选修课程的情况
select b.studentNo,b.studentName,c.*
from tb_score a,tb_student b,tb_course c
where a.studentNo = b.studentNo
and a.courseNo = c.courseNo;
查询会计学院全体同学的学号、姓名、籍贯、班级编号和所在班级名称。
select a.studentNo,a.studentName,a.native,a.classNo,b.className
from tb_student a,tb_class b
where a.classNo = b.classNo
and b.department =‘会计学院’;
查询选修了课程名称为‘程序设计’的学生学号、姓名和成绩。
select b.studentNo,b.studentName,a.score
from tb_score a,tb_student b,tb_course c
where a.studentNo = b.studentNo
and a.courseNo = c.courseNo
and c.courseName=‘程序设计’;
查询与数据库这门课学分相同的课程信息。
select * from tb_course a where a.credit in
(select credit from tb_course b
where a.credit=b.credit and b.courseName = ‘数据库’)
and a.courseName <> ‘数据库’;
使用左连接查询所有学生及其选修课程的情况,
包括没有选修课程的学生,要求显示学号、姓名、性别、班号、选修的课程号和成绩。
select a.studentNo,a.studentName,a.sex,a.classNo,c.courseName,b.score
from tb_student a left join tb_score b on a.studentNo = b.studentNo
join tb_course c on b.courseNo=c.courseNo;
使用右连接查询所有学生及其选修课程的情况,
包括没有选修课程的学生,要求显示学号、姓名、性别、班号、选修的课程号和成绩。
select a.studentNo,a.studentName,a.sex,a.classNo,c.courseName,b.score
from tb_student a right join tb_score b on a.studentNo = b.studentNo
join tb_course c on b.courseNo=c.courseNo;
大家点赞、收藏、关注、评论啦 微信公众号