簡體   English   中英

幫助SQL語句(JOIN)

[英]Help with SQL statement (JOIN)

我在使用SQL語句時遇到一些麻煩,必須找到參加課程的學生人數。 我的數據庫設計看起來像這樣:

課程: id | 課程名

學生: id | 名稱

為了連接兩個多對多的關系,我有一張桌子:

course_student: id | course_id | 學生卡

我想要的是找出有多少學生參加名為“數據庫設計”的課程。 我知道ID是“1”,但我要說我不知道​​,我的SQL語句怎么樣?

我已嘗試使用不同聯接的幾個不同語句首先從課程表中選擇正確的ID,其中名稱為“數據庫設計”,接下來我要在我的course_student表中搜索其中course_id等於創建的id(在這種情況下) 1)並且所有student_id都與此id相關聯。

我知道這有點復雜的描述所以請告訴我是否必須以更好的方式解釋它。

謝謝梅斯蒂卡

你可以嘗試類似的東西

SELECT  COUNT(cs.student_id)
FROM    Course c INNER JOIN
        course_student cs ON c.id = cs.course_id
WHERE   c.course_name = 'Database Design'

你不必加入Students表,因為你已經在course_student表中有了ID,所以少了1個加入。

SELECT count(a.id)
FROM Course a
INNER JOIN Course_Student b
ON a.id = b.course_id
WHERE a.course_name = 'Database Design'

只是略有不同的風格,但結果相同

select COUNT(cs.student_id) as counter from Course c, course_student cs where c.id = cs.course_id and c.course_name = 'Database Design'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM