當前位置:首頁 » 編程語言 » sql選修教程
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql選修教程

發布時間: 2022-06-11 18:20:50

㈠ 用SQL語句查詢選修課程名稱中有資料庫課程的學生的學號

select * from 學生表 where 學號 in(select 學號 from 選修課表 where 課程='資料庫')

思路大概就是這樣

㈡ 用SQL語句實現查詢選修了一門以上課程學生的所有信息。 怎麼做啊

select * from 學生表 where 學號 in (select distinct 學號 from 選課表)

㈢ SQL求選修了1號課或2號課的學生學號和課號及成績用集合查詢的方法

SELECT Sno
FROM SC
WHERE Cno='1'
INTERSECT
SELECT Sno
FROM SC
WHERE Cno='2'
集合運算,列的數目、類型要一致
如果還報錯,那就考慮別的語法吧,not in或者not exists
列值不一樣的記錄,在集合想減時減不掉,所以要把cno和grade列去掉

㈣ 用SQL語句列出全部學員都選修的課程的課程名和課程號

我的思路是在SC中判斷每門課被選修了多少次,如果被選修次數=學生人數 則認為被所有學生選修。總覺得這個思路不太好,可是又想不出更好的邏輯關系

select CNAME,CNO from c
where cno in (
select cno from sc
group by sno
having count(sno) = (select count(1) from s)
)

㈤ 用SQL語句查詢每個學生選修的課程名及其成績

select 姓名,課程名,成績 from (課程名所在的表名 C join 成績所在的表名 S on C.課程號=S.課程號) join 學生信息表 on S.學號=學生信息表.學號 ;

具體的例子:
select Sname,Cname,Grade from Student st left join(Score s left join Course c on s.Cno=c.Cno)
on st.Sno=s.Sno;

㈥ 怎麼用SQL語句查詢每個學生選修的課程名及其成績

查詢選修了全部課程的學生姓名
:student 是學生表 course 是選課表 sc 是課程表
select sname
from student
where not exists
(select *
from course
where not exists
(select *
from sc
where sno =student.sno
and cno=course.cno)

㈦ SQL如何實現計算各個學生選修的課程門數

select 學號,count(課程號) from table group by 學號

㈧ SQL查詢全部學生都選修的課程的課程號和課程名問題

SELECT
course.cid,
course.cname
FROM
course JOIN study ON (course.cid = study.cid)
GROUP BY
course.cid,
course.cname
HAVING
COUNT(study.sid) = (SELECT COUNT(sid) FROM student);

邏輯:

首先,簡單的把 課程表 與 選修表 關聯
course JOIN study ON (course.cid = study.cid)

然後 ,按照 課程號和課程名 分組
GROUP BY
course.cid,
course.cname

最後, 要求 選修的人數 = 學生總數
HAVING
COUNT(study.sid) = (SELECT COUNT(sid) FROM student)