随笔分类 - 00-Java Study Road Map / 03-MySQL入门案例练习1
SQL语句练习随笔
摘要:问题分析 这个问题主要在于确定一个条件之后,怎么再指定一个条件,如果思维还仅仅停留在单表和基础的连接表操作,那么这题会显地比较难 不过要说简单也其实很简单,只需要学会对问题进行简单的拆分即可,如下所示 -- 学过01,且学过02 -- 学过01 SELECT sc.`SID` FROM SC sc
阅读全文
摘要:查询没学过"张三"老师授课的同学的信息 问题分析 没学过,那么就说明是SC表中不存在该老师教的CID编号 反之来说,学生表中不存在与该CID对应的SID编号 也可以参考上一篇随笔Question07 所以SQL语句如下所示 方案1: SELECT * FROM Student WHERE SID N
阅读全文
摘要:查询学过"张三"老师授课的同学的信息 题目分析 学过则说明 SC 表中,存在该老师教的 CID 编号;那么如何查询该类的学生信息呢?以多表连接查询的思路,可以参考下面的步骤编写SQL ①、在SC表中,根据SID查询数据 ②、根据①中查出来的数据中的的CID查询TID ③、再根据TID查询Teache
阅读全文
摘要:查询"李"姓老师的数量 问题比较简单,一个单表查询就可以解决,这里就不过多地讲解 方案1: SELECT COUNT(Tname) FROM Teacher tea WHERE tea.`Tname` LIKE '李%'; 方案2: SELECT COUNT(Tname) FROM Teacher
阅读全文
摘要:查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩 问题1:查询所有有成绩的SQL SQL如下所示 方案1:where做表连接 SELECT a.SID, a.Sname, COUNT(b.CID) 选课总数, SUM(score) 总成绩 FROM Student a , SC b WH
阅读全文
摘要:查询平均成绩小于60分的同学的学生编号和学生姓名和平均成绩 问题1:只查询在sc表存在成绩的学生信息 SQL如下所示 SELECT stu.`SID`, stu.`Sname`, CAST(AVG(sc.`score`) AS DECIMAL(18,2)) 平均成绩 FROM Student stu
阅读全文
摘要:问题 查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩 这题主要靠的就是分组和基础的表连接 解决1: SQL语句如下所示 SELECT stu.`SID` 学生编号, stu.`Sname` 学生姓名, AVG(sc.`score`) 平均成绩 FROM Student stu LEF
阅读全文
摘要:问题 查询"01"课程比"02"课程成绩低的学生的信息及课程分数 跟上一篇随笔基本一样的题目,这里就不再多讲 1、查询同时存在"01"课程和"02"课程的情况 SQL语句如下所示 SELECT stu.*, sca.`score` 01课程成绩, scb.`score` 02课程成绩 FROM St
阅读全文
摘要:提前声明,鄙人只是一名刚入门的小白,一切随笔都有不足,望海涵! 问题 查询"01"课程比"02"课程成绩高的学生的信息及课程分数 分析 碰到这个问题,不难想到"01"和"02"课程的成绩存储在SC表,那要如何找到切入点呢? 数据库中的数据如下所示 这个题目的难点个人认为就是初学者刚开始很难想到一张表
阅读全文
摘要:自定义一个数据库,然后导入以下SQL即可 /* --1.学生表 Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表 Course(CID,Cname,TID) --CID --课程编号,Cnam
阅读全文