MySQL之SELECT 語句詳解

來源:互聯網
上載者:User

標籤:資料類型   部分   logs   ima   desc   select   實現   targe   系統   

本文參考實驗樓的SELECT 語句詳解結合自己操作部分而寫成。

注意:大多數系統中,SQL語句都是不區分大小寫,但是出於嚴謹和便於區分保留字和變數名,在書寫的時,保留字應大寫,而變數名應小寫。所謂的保留字,即為:在進階語言中已定義過的字,使用者不能將這些字作為變數名和過程名使用。

1)SELECT語句的基本格式是:SELECT 查詢的列名 FROM 表名 WHERE 限制條件;在上一篇部落格建立一個簡單的成績管理系統 中,使用SELECT * FROM employee代表查詢所有的列。例如,要查看employee表中的 name、age兩列,可以使用:這裡值得注意的是age和FROM之間沒有逗號,很容易寫的順手了,就寫上去了,只有列名之間需要逗號。

2)數學符號條件,SELECT 語句中常常會有WHERE 限制條件,用於實現更為精確的尋找。WHERE限制條件可以有數學符號(=、>、<、>=、<=),例如,我們可以尋找出employee表中,年齡大於25歲的人的名字,

當WHERE後面不止一條限制時,可以使用OR(或)和AND(和)來實現相應要求,如求可以用OR來實現年齡小於25,和年齡大於30的這兩部分人的名字;相應地,年齡在25和30之間的,可以使用AND 來實現,,

 求年齡在25和30之間的人名的另一種寫法是:

3)關鍵詞 IN 和 NOT IN用於刷選“在”和“不在”某一範圍內的結果,如,要尋找在部門3和部門4的人的姓名、年齡、電話,可以使用下面的方式:

4)萬用字元。關鍵字LIKE一般和萬用字元一起使用,萬用字元代表未知的字元。SQL中萬用字元是“ _”和“ %”,前者代表一個未指定的字元,後者代表不定個的未指定字元。如:僅僅知道電話的前四位,後兩位未知,想獲得相關資訊,可以如下:值得注意的是,關鍵字和統配的相對位置

又如:僅知道姓名的首字元為‘J’想查詢相關資訊,可以如下:

5)為了是查詢的結果顯得更為順眼,我們可能需要對結果按某一列進行排序。關鍵字是ORDER BY,預設的情況下,ORDER BY的結果是升序的,使用關鍵字ASCDESC可以指定升序降序。如工資的降序排列:

 

6)SQL的內建函數和計算。SQL有5個內建函數,如下:

其中,COUNT函數可以用於任何資料類型,SUM、AVG只能對數字類資料類型進行計算,MAX、MIN可用於數字、字串和日期時間類型的計算。

如計算出salary的最大值、最小值,可以用:

其中,主要到兩綠色橢圓的關係,通過關鍵詞AS,MAX(salary)重新命名為了max_salary。

7)在處理多個表時,子查詢只有在結果來自一個表時才有用,若,需要顯示兩個表格或者多個表格的資料時,就要使用串連(join)操作。串連的基本思想是:把兩個或多個表當做一個新的表格來操作。查詢各員工所在部門的人數,其中員工的id和name來自employee表,people_num來自department表。如下:

另一種,串連語句的格式是JOIN ON文法,剛才的語句等價於:

 

MySQL之SELECT 語句詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.