iT邦幫忙

0

關於SQL基本語法小小問題...

最近開始放暑假了...打算這個假期來練練sql
上網看到一個網站(sqlzoo)可以練習 就來練習看看 但是網路有答案可是沒有解釋..
想請大大解釋一下~
如果有推薦其他練習sql的網站也請推薦 謝謝!!
https://ithelp.ithome.com.tw/upload/images/20210703/20131917go8TGGyFD1.jpg
8.列出洲份名稱,和每個洲份中國家名字按子母順序是排首位的國家名。(即每洲只有列一國)

select continent,name
from world as x
where name = (select min(name) from world as y where x.continent = y.continent );`

其中最後的

(select min(name) from world as y where x.continent = y.continent)

跟前者select是如何引發迴圈而去列一州一國的...(因為我發現把最後where刪掉 就只讀一列)

謝謝各位解答了...

sky800219 iT邦新手 5 級 ‧ 2021-07-03 21:24:00 檢舉
沒事沒事 我知道了..
外面迴圈繞州別但是name要等於內迴圈的
而內迴圈則是在選擇最小的國家名稱內但是州別要等於外迴圈的州別...
應該沒有解釋錯!!
如果有錯在希望大大糾正一下 謝謝!!
msnman iT邦研究生 1 級 ‧ 2021-07-05 11:01:18 檢舉
https://www.w3schools.com/sql/sql_min_max.asp
這個網站資源不錯,可以作為參考
sky800219 iT邦新手 5 級 ‧ 2021-07-05 13:12:55 檢舉
對齁 我都忘記W3C也有SQL
我只用網頁時會參考~~哈哈!!
謝謝大大提醒!!

1 個回答

1
japhenchen
iT邦大師 1 級 ‧ 2021-07-05 10:04:54
最佳解答

迴圈?還是我理解錯了什麼?你指的應該是子關聯表吧

select min(a.name),a.continent from world a 
left join (select continent from world group by continent) as b on a.continent = b.continent
group by a.continent
sky800219 iT邦新手 5 級 ‧ 2021-07-05 10:56:58 檢舉

大大謝謝..
原來這個名稱是"關聯表"

我要發表回答

立即登入回答