zoukankan      html  css  js  c++  java
  • select单表查询和多表查询

    数据表

    1).学生表: Student

    字段: (SID,Sname,Sage,Ssex) -SID学生编号,Sneme学生姓名,Sage出生年月,Ssex学生性别

    2).课程表: Course

    字段: (CD,Cname,TI) –CID课程编号,Cname课程名称,TID教师编号

    3).教师表: Teacher

    字段: (TID,Tname) -ID教师编号,Tname教师姓名

    4).成绩表: SC

    字段: (SID,CID,score) -SID学生编号,CID课程编号,score分数

    select查询

    1.单表查询

    问题:查询SID为1的学生信息

    查询语句:select Sname,Sage,Ssex from student where SID=1

    2.多表查询

    问题:查询"01"课程比”02”课程成绩高的学生的信息及课程分数(这里01和02课程指的是CID)

    方法一:from多表查询

    1)第一步先查出所有学生的01课程的分数,查询结果作为a表

    查询语句:select SID,CID,score from sc where CID=01

    2)第二步再查出所有学生的02课程的分数,查询结果作为b表

    查询语句:select SID,CID,score from sc where CID=02

    3)第三步查询同一个学生的01课程分数大于02课程分数的学生SID以及课程分数,查询结果作为c表

    查询语句:select a.SID,a.score as score01,b.score as score02 from (select SID,CID,score from sc where CID=01) as a,(select SID,CID,score from sc where CID=02) as b 

    where a.SID = b.SID and a.score>b.score

    4)第四步根据c表和student表查询出学生具体信息

    查询语句:select d.SID,d.Sname,d.Sage,d.Ssex,score01,score02 from student as d, 

    (

    select a.SID,a.score as score01,b.score as score02 from (select SID,CID,score from sc where CID=01) as a,(select SID,CID,score from sc where CID=02) as b 

    where a.SID = b.SID and a.score>b.score

    ) as c 

    where d.SID=c.SID

    方法二:使用join连接

    1)第一步先查出所有学生的01课程的分数,查询结果作为a表

    查询语句:select SID,CID,score from sc where CID=01

    2)第二步再查出所有学生的02课程的分数,查询结果作为b表

    查询语句:select SID,CID,score from sc where CID=02

    3)第三步使用join连接student表、a表和b表

    查询语句:select c.SID, c.Sname,c.Sage, c.Ssex,a.score as score01, b.score as score02 from student as c

    right join (select SID,CID,score from sc where CID=01) as a on a.SID=c.SID

    right join (select SID,CID,score from sc where CID=02) as b on b.SID=c.SID

    where a.SID=b.SID and a.score>b.score

  • 相关阅读:
    bootstrap 模态框一闪而过的问题
    ${requestScope.paramName} 与 ${param.name}
    Android控件
    质量属性
    android基础知识复习一
    Numpy基础篇二
    miniconda 搭建tensorflow框架
    Numpy基础篇一
    pandas 数据索引与选取
    《架构漫谈》阅读笔记
  • 原文地址:https://www.cnblogs.com/heyongzhen/p/13920514.html
Copyright © 2011-2022 走看看