簡單的 學生 各科 成績 展示 sql

2021-06-21 14:07:40 字數 1549 閱讀 4835

最近回憶起以前的一道面試題,是關於學生成績查詢的,應該比較經典,特此貼出來供大家學習。

條件:三張表,學生表student,科目表course,成績表results

表結構學生表

-- create table

create table student

( sid varchar2(10) not null,

name varchar2(10),

*** varchar2(2),

age number(2)

)

科目表

create table course

(  c_id   varchar2(10) not null,

c_name varchar2(20) not null

)

成績表

-- create table

create table results

( r_id varchar2(10) not null,

s_id varchar2(10) not null,

c_id varchar2(10) not null,

score number(3) default 0

)

要求顯示效果

sql語句:

select s.sid,s.name,

sum(case c.c_name when '語文' then r.score end ) as "語文",

sum(case c.c_name when '數學' then r.score end ) as "數學",

sum(case c.c_name when '英語' then r.score end ) as "英語"

from student s,course c,results r where s.sid = r.s_id and c.c_id = r.c_id group by s.sid,s.name

在附送乙個:

同時查出 語文分數》85分 以上的男生人數和女生人數

select 

sum(case s.*** when '男' then count(s.***) end ) as "男生數量",

sum(case s.*** when '女' then count(s.***) end ) as "女生數量"

from student s,course c,results r where s.sid = r.s_id and c.c_id = r.c_id and c.c_name='語文' and r.score > 85

group by c.c_name,s.***

當然 我知道還有比我這個更簡練的方法,如果有請回帖告訴我,謝謝。大家共同進步。

sql查詢出各科成績最好的學生資訊

1.相關資料表 score表 user 表 sql語句如下 複製 如下 www.cppcns.com 查詢出各科成績最好的學生資訊 自連線 select top 1 from score b where b.s程式設計客棧corename 數學 order by b.score desc selec...

查詢各科成績前3和第3的學生(SQL)

資料庫面試題 其他關聯表這裡不一一寫出,僅寫出關鍵表 score 成績表 成績記錄id scoreid 學生id userid 課程id scoureid 成績score 現需要求出各科成績前三名的學生和成績,與相應的課程。實現思路 用課程id自關聯一次成績表,如果相應課程成績高則排名越高。sele...

最簡單的學生成績系統

一 題目要求 按照如下要求編寫程式。1 定義乙個用於描述學生資訊的結構型別,其中包括三個成員,分別用於描述學號 姓名和成績。2 定義乙個陣列,陣列的資料型別就是上面定義的結構型別。陣列至少可以存放10個資料項。3 從鍵盤輸入若干個學生資訊,儲存到上面定義的陣列中。4 按課程成績從小到大的順序排列陣列...