簡體   English   中英

使用 INNER JOIN 的 SQL 查詢

[英]SQL Query using INNER JOIN

編寫一個查詢,顯示所有參加課程的學生的名字、姓氏、課程編號和課程名稱 - 使用 INNER Join。 標記輸出列 Student First、Student Last、課程編號和課程名稱。 你應該有 7 行。

是我實驗室的問題。

有學生、課程、注冊三張表

我可以獲得在課程中注冊的學生的姓名

select firstname,lastname from students
inner join on registration students.studentid=registration.studentid

但是當我嘗試從課程表中獲取老師想要返回的其他數據時,它不起作用我嘗試了一百萬件事,但對我來說有意義的是

select firstname,lastname,coursenumber,coursename from students,courses
inner join registration on students.studentid=registration.studentid

但它在 on 子句中給了我一個錯誤 unknown column Students.studentid 。

你非常接近,錯過了registrationcourses之間的加入條件。 您有隱式和顯式INNER JOIN的奇怪組合。 您加入的courses應該是另一個INNER JOIN ,它通過registration加入到students

SELECT
  firstname, /* <-- don't forget to label your columns as required */
  lastname,
  coursenumber,
  coursename 
FROM
  students
  /* `students` map into courses via many-to-many relation in `registration` */
  INNER JOIN registration on students.studentid = registration.studentid
  /* Inner join through `registration` into `courses` */
  INNER JOIN courses ON registration.courseid = courses.courseid

並且不要忘記您的列別名以滿足列輸出命名要求。 SELECT列表中使用AS關鍵字。 我會把那部分作業留給你解決。

標記輸出列 Student First、Student Last、課程編號和課程名稱

select firstname,lastname,coursenumber,coursename from students
inner join registration on students.studentid=registration.studentid
JOIN courses  ON courses.courseid = registration.courseid

您在查詢中提到了courses ,但您沒有join其加入任何內容。

暫無
暫無

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

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