iT邦幫忙

0

SQL問題請教(條件設定) (已解決)

  • 分享至 

  • xImage

是目前初學SQL的超級新手
最近刷到一題SQL語法練習,題目給一張北美城市table,其中欄位包含城市名稱,經度,緯度
要求把Chicago西邊的城市名稱與經度,全部由西到東列出來

網站給的正解是
SELECT city, longitude FROM north_american_cities
WHERE longitude < -87.629798
ORDER BY longitude ASC;

但總覺得應該要是把Chicago的經度先定義出來,而不是直接把經度數字打上去
有嘗試過用offset等等方式,但都失敗
希望有人能幫忙解惑!

SELECT city, longitude FROM north_american_cities
WHERE longitude <
( SELECT longitude FROM north_american_cities
WHERE city='Chicago' )
ORDER BY longitude ASC;
Lisa12345 iT邦新手 5 級 ‧ 2022-11-09 11:03:51 檢舉
原來!跑得過了!謝謝
其實我建議以下語法
< 這個不會列出芝加哥,用 <= 第一筆就是芝加哥,這樣會比較好,通常什麼開始,自然要把開始的那一筆查出來吧,不然真的怪怪的
SELECT city, longitude FROM north_american_cities
WHERE longitude <=
( SELECT longitude FROM north_american_cities
WHERE city='Chicago' )
ORDER BY longitude ASC;
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

3
海綿寶寶
iT邦大神 1 級 ‧ 2022-11-09 10:58:19
最佳解答

你大概要的是這個答案

SELECT *
FROM North_american_cities
WHERE longitude <
   (SELECT longitude
    FROM North_american_cities
    WHERE City='Chicago');

由於你這題目是第5課
所以才直接把經度數字寫上去

上面的寫法
是在第X課進階題目裡的「Subquery」

另外
你前面問的問題
如果都解決了就選個最有幫助解答以結案

這各題目等到 JOIN 的時候又可以在講一次

Lisa12345 iT邦新手 5 級 ‧ 2022-11-09 11:04:24 檢舉

原來如此!謝謝

我要發表回答

立即登入回答