糯米文學吧

計算機二級MySQL輔導知識:簡單查詢

  簡單查詢

計算機二級MySQL輔導知識:簡單查詢

簡單的Transact-SQL查詢只包括選擇列表、FROM子句和WHERE子句。它們分別説明所查詢列、查詢的

  表或視圖、以及搜索條件等。

例如,下面的語句查詢testtable表中姓名為“張三”的nickname字段和email字段。

  複製內容到剪貼板

代碼:SELECT `nickname`,`email`FROM `testtable`WHERE `name`='張三'

  (一) 選擇列表

選擇列表(select_list)指出所查詢列,它可以是一組列名列表、星號、表達式、變量(包括局部變量和全局變量)等構成。

  1、選擇所有列

例如,下面語句顯示testtable表中所有列的數據:

複製內容到剪貼板

代碼:SELECT * FROM testtable

  2、選擇部分列並指定它們的顯示次序

查詢結果集合中數據的排列順序與選擇列表中所指定的列名排列順序相同。

例如:

複製內容到剪貼板

代碼:SELECT nickname,email FROM testtable

  3、更改列標題

在選擇列表中,可重新指定列標題。定義格式為:

列標題=列名

列名 列標題

如果指定的列標題不是標準的標識符格式時,應使用引號定界符,例如,下列語句使用漢字顯示列

標題:

複製內容到剪貼板

代碼:SELECT 暱稱=nickname,電子郵件=emailFROM testtable

  4、刪除重複行

SELECT語句中使用ALL或DISTINCT選項來顯示錶中符合條件的所有行或刪除其中重複的數據行,默認

為ALL。使用DISTINCT選項時,對於所有重複的數據行在SELECT返回的結果集合中只保留一行。

  5、限制返回的`行數

使用TOP n [PERCENT]選項限制返回的數據行數,TOP n説明返回n行,而TOP n PERCENT時,説明n是

表示一百分數,指定返回的行數等於總行數的百分之幾。

例如:

複製內容到剪貼板

代碼:SELECT TOP 2 * FROM `testtable`

複製內容到剪貼板

代碼:SELECT TOP 20 PERCENT * FROM `testtable`

  (二) FROM子句

FROM子句指定SELECT語句查詢及與查詢相關的表或視圖。在FROM子句中最多可指定256個表或視圖,

  它們之間用逗號分隔。

在FROM子句同時指定多個表或視圖時,如果選擇列表中存在同名列,這時應使用對象名限定這些列

所屬的表或視圖。例如在usertable和citytable表中同時存在cityid列,在查詢兩個表中的cityid時應

使用下面語句格式加以限定:

複製內容到剪貼板

代碼:SELECT `username`,id

FROM `usertable`,`citytable`

WHERE id=id在FROM子句中可用以下兩種格式為表或視圖指定別名:

複製內容到剪貼板

代碼:表名 as 別名

表名 別名例如上面語句可用表的別名格式表示為:

複製內容到剪貼板

代碼:SELECT `username`,id

FROM usertable a,citytable b

WHERE id=idSELECT不僅能從表或視圖中檢索數據,它還能夠從其它查詢語句所返回的結果集合中查詢數據。

例如:

複製內容到剪貼板

代碼:SELECT _fname+_lname

FROM authors a,titleauthor ta

(SELECT `title_id`,`title`

FROM `titles`

WHERE ` ytd_sales`>10000

) AS t

WHERE _id=_id

AND e_id=e_id此例中,將SELECT返回的結果集合給予一別名t,然後再從中檢索數據。

(三) 使用WHERE子句設置查詢條件

WHERE子句設置查詢條件,過濾掉不需要的數據行。例如下面語句查詢年齡大於20的數據:

複製內容到剪貼板

代碼:SELECT * FROM usertable WHERE age>20 WHERE子句可包括各種條件運算符:

比較運算符(大小比較):>、>=、=、、!>、!=10 AND age複製內容到剪貼板

代碼:SELECT * FROM `usertable` ORDER BY `age` DESC,`userid` ASC另外,可以根據表達式進行排序。