【sql: 練習題目1】查找課程01 比課程02 分數高的學生信息


1、准備了50道 練習sql的題目,今天就開始練習了 :

首先 我們介紹所有表的結構,后面練習就已這些表開展

學生 student 表:

create table Student(id varchar(10),stdentname varchar(10),age datetime, sex varchar(10));

課程表:

create table student_course(id varchar(10),coursename nvarchar(10),teacherid varchar(10));

教師表:

create table Teacher(id varchar(10),teacher_name varchar(10));

學生分數表:

create table student_score(studentid varchar(10),courseid varchar(10),score decimal(18,1));

 

 

第一題: 查詢 課程01 比課程 02分數高的學生信息

分析: 先查 學生分數表 得到結果 再與學生信息表 進行聯合查詢 join  這里要使用right join 關於right join 與 left join的區別 上篇文章的已經寫過

sql:

SELECT * FROM student RIGHT JOIN
(SELECT t1.studentid, class1, class2 FROM
( SELECT studentid, score AS class1 FROM student_score WHERE student_score.courseid = 01 ) AS t1,
( SELECT studentid, score AS class2 FROM student_score WHERE student_score.courseid = 02 ) AS t2
WHERE t1.studentid = t2.studentid AND t1.class1 > t2.class2)r
ON student.id = r.studentid

 

分析:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM