![]() |
||
Regular Member
![]() ![]() 加入日期: Jun 2010
文章: 86
|
引用:
光用"眼睛"看,應該會有Sydney那筆才對,不該一筆都沒有,先改用suburb like '%Sydney%' 來看看是不是有什麼看不到的符號(如空白)在前後面。 這種錯誤很常發生在輸入端沒過濾掉字串前後的空白上。 此文章於 2017-12-16 10:46 PM 被 michelle-lai529 編輯. |
||||||||
![]() |
![]() |
Amateur Member
![]() 加入日期: Oct 2017
文章: 36
|
引用:
感謝指導。如您所說,先用like之後Sydney果然就出現了 因為題目要Sydney或Melbourne,所以我改成 WHERE Suburb LIKE '%Sydney%' OR Suburb LIKE '%Melbourne%' 得下圖table3 依您所指出,自行UPDATE一次Sydney與Melbourne之後,再改成 WHERE Suburb='Sydney' OR Suburb='Melbourne' 就順利得table4,Null就不再出現了。 感激之餘,想再請教這題的WHERE OR句子有沒有辦法縮短? 謝謝!!! |
|||
![]() |
![]() |
Regular Member
![]() ![]() 加入日期: Jun 2010
文章: 86
|
引用:
Suburb in ('Sydney','Melbome') 建議您弄懂這些語法的意義,語法包在程式裡,字數的多少從來就不是最重要的,寫法的效率、後續的可維護性跟可讀性才是最重要的 |
|
![]() |
![]() |
Amateur Member
![]() 加入日期: Oct 2017
文章: 36
|
引用:
獲益良多,非常感謝!! 如果您是講師,請您pm給我,我很願意在適當時機用一個月年假回台聽您上課。 不曉得能不能請您建議SQL相關書籍? 此文章於 2017-12-17 08:05 AM 被 pm17g101 編輯. |
|
![]() |
![]() |
Regular Member
![]() ![]() 加入日期: Jun 2010
文章: 86
|
引用:
我是程式設計師,這些幾乎是每天在用的。 Sql語法說真的並不多,幾乎都在觀念上,由幾條單一的語法組合去解複雜的資料篩選問題;所以說真的,並沒有那一本書就可以讓你打通關。 ![]() 這本你可以看看基礎入門語法,可是後續的觀念還是得看自己。 你可以用自己工作上需要的資料當範本,想想這些問題要怎麼解,例如有資料的可以篩選列表出來,那沒有資料的呢,像是,我想從業績總表中一口氣列出幾個年度沒有業績的月份。自己想一想這要怎麼解,像這類的問題絕對比你應付這些作業來的有用。 此文章於 2017-12-17 09:51 AM 被 michelle-lai529 編輯. |
|
![]() |
![]() |
Regular Member
加入日期: Oct 2017
文章: 64
|
引用:
你一開始的問題:找不到 Sydney,問題並非在於 SQL 查詢,而是資料庫內部資料正確性的問題 因為你要使用 LIKE 關鍵字或者直接指定特定字串(使用「=」或 IN 關鍵字),需要看情況,不是以後你要做類似的查詢,都要使用 LIKE 這是由於你使用 LIKE 字,要讓資料庫系統耗費 CPU 時間比對資料,再者如果你的資料庫剛好有好幾列的資料,查詢欄位中都含有你所查詢的片段字串,資料庫會把這些資料全部回傳 因此你的問題在於資料庫內部資料正確性 如果你的「Sydney」本來前後不該有空白,請使用 UPDATE 修正該欄位,如果的確就是要有空白,那查詢 WHERE 段也只需要改為 Suburb='Sydney '(假設你的空白是在 y 的右邊) (一般來說不會有空白,這個問題可能是因為當初新增資料的方式,是直接在 EXCEL 表格複製貼上到 Workbench) 此文章於 2017-12-17 09:54 AM 被 bigdatasmallapp 編輯. |
|
![]() |
![]() |
Amateur Member
![]() 加入日期: Oct 2017
文章: 36
|
引用:
您說得沒錯。我覺得是這個課程的缺陷。這個課程讓初學者一開始就自行建立資料庫,並且匯入資料,並且用該資料庫來進行查詢,再以此進行評分考核。 這過程其實對初學者會造成很大的挫折感,如果一開始是給初學者sample資料庫,先考核其查詢能力,再來建資料庫這樣比較不那麼痛苦。 各位剛開始學SQL也是先自建資料庫嗎? 再次感謝各位專家的寶貴意見!! |
|
![]() |
![]() |
Regular Member
加入日期: Oct 2017
文章: 64
|
引用:
在我看來先讓你有資料庫概念比較重要,至於先學建資料庫,還是先學如何查詢都是一樣的 資料庫也不過就是一大堆表格的集合,SQL 只是幫助你去操作這些表格,查詢是操作、新增刪除修改也是操作 你這課程只是少了一個諮詢對象而已,因為你的問題說穿了只是小問題,但知道就是知道,不知道的人就會花很多時間 此文章於 2017-12-17 01:15 PM 被 bigdatasmallapp 編輯. |
|
![]() |
![]() |