神奇的select
1:select初探
憂鬱的眼神,唏噓的鬍渣,微微有幾根頭髮的腦袋,還有指間夾着的七元一包的紅塔山香菸,不知從何時開始,大爺的身上竟然散發着一股無與倫比的氣質。
今天,大爺把課程的主題定做爲“神奇的select”
"昨天已經說過select的最基本用法“大爺喝了口山寨黃山毛峯濃茶,長長的吸了口煙,無比悠閒道:
使用select必須給出至少兩個條件,(1):想要選取什麼數據,(2)從哪裏選擇這些數據。
於此同時大爺還特別提醒了李有爲一點,SQL裏面的關鍵詞都是不區分大小寫的。
-- 關鍵詞全小寫
select * from human_base_info limit 10
-- 關鍵詞全大寫
SELECT * FROM human_base_info LIMIT 10
-- 關鍵詞大小寫混合
seleCt * From human_base_info LiMit 10
大爺特別強調,以上三種寫法都是沒問題的,查詢出來的結果都是一樣的,但是爲了優雅美觀以及方便書寫,在寫SQL代碼的時候一定要規範好格式,(關鍵詞大寫,列名、表名小寫),通常可以使用數據庫管理工具的“美化SQL“”功能,數據庫管理工具會自動把關鍵詞轉換成大寫,從而方便閱讀與調試。
大爺講到這裏的時候,李有爲突然打斷了他,“前輩,其實這些人的信息我並不是全部關心的,有時候我只關心她們的情感狀態(is_single),顏值(looks),年齡(age),姓名(name),性別(sex),性取向(sexual_orientation)”
大爺打了個響指,朗聲笑道,“你這個問題,正是我接下來要講的問題,你且仔細挺好。“
2:select選擇特定列
按照慣例大爺先是嘬了口茶,然後吞雲吐霧一番,隨後緩緩道:“”在一張數據表裏面,有可能我們確實只需要特定的一些字段,這個時候我們使用select的時候,只需要指定這些特定的列名就好了。每一列用逗號分隔符隔開,最後一列不需要逗號。“
SELECT
name,age,sex,sexual_orientation,is_single,looks
FROM human_base_info
LIMIT 10
“這句SQL的意思就是,從human_base_info表裏面,查詢name,age,sex,sexual_orientation,is_single,looks這幾個列的先關信息,將查詢的結構限制爲10條。“大爺朝着李有爲和藹笑道,“騷年,你可聽懂了?”
李有爲會心一笑,心中想道:“沒想到SQL這麼簡單,我真特麼是個天才。”
如果想看姓名,年齡,性別這些相關字段,只需要從人員基礎信息表(human_base_info)裏面選擇相關字段,有如看不了看多的結果,因此只需要將結果限制爲10條。李有爲細細一想,發現確實挺簡單的,於是乎揮舞着鍵盤,三下五除二就寫好了一段SQL:
SELECT
name,age,sex,sexual_orientation,is_single,looks
FROM human_base_info
LIMIT 10
嘴角露出意思不易察覺的、無比自信的笑容,李有爲帥氣而瀟灑的點下了執行按鈕。
點下按鈕的那一刻,自信瀟灑的笑容凝固在李有爲那並不英俊的臉上,;SQL錯誤(1054):Unknown column ‘name,age,sex,sexual_orientation,is_single,looks’ in 'field list,這一句話成了他腦海中揮之不去的陰影。
“怎麼回事呢?”李有爲自言自語着,他寫的代碼明明和大爺一樣,爲什麼兩個的執行結果天差地別呢?“未知的字段名稱,name,age,sex……looks,這究竟是怎麼一回事呢?”數據庫裏面明明有這些字段的啊!
一分鐘有時很短,有時又很漫長,對李有爲來講,這就是漫長的一分鐘,在一分鐘裏,他撓了二十五下頭,用手摳了十一次鼻屎,儘管他做了這麼多有助於思考的動作,他依然沒有想出這當中的因爲所以。
“我看你小子就是雞公拉屎頭節硬,拿起半截就開跑。你仔細看一下我們的代碼之間的區別!”
-- 大爺的
SELECT
name,age,sex,sexual_orientation,is_single,looks
FROM human_base_info
LIMIT 10
-- 李有爲的
SELECT
name,age,sex,sexual_orientation,is_single,looks
FROM human_base_info
LIMIT 10
把兩個代碼放在一起,仔仔細細對比一番後,李有爲頓時恍然大悟,**原來是他用的是中文的逗號,大爺用的是英文的逗號。**找到了問題的原因,可是李有爲的問題有來了,“爲什麼用英文的逗號就可以,用中文的逗號就不行呢?”
大爺的神色突然變得而有些悲涼,叼着嘴裏的香菸不停燃燒着,縷縷青煙飄向空中,大爺的思緒彷彿也如那青煙一般,越飄越遠,許久之後大爺方纔緩緩說道:“這一切的一切,或許還得從1840年開始說起!*”