MySQL SELECT 語法

select 語句適用於表和視圖;

SELECT語法

SELECT 語句用於表或者視圖。一個表包含行與列,你可以想像一下excel表,你想查看行的自給或者列的子集,按條件篩選和隱藏列功能,當然也可以計算列(A1+B1),select 的功能就是引出你想要結果的列名。

查看數據集的employees表, 包含以下8列: employee number, last name, first name, extension, email, office code, reports to, job title。

SELECT 語句功能是控制哪些行和列顯示,例如,你只對 first name, last name, and job 或者你只想看哪些僱員的 job title 是rep,select幫助你完成這些功能。

看一下 SELECT 語法規則:

SELECT

column_1, column_2, ...

FROM

table_1

[INNER | LEFT |RIGHT] JOIN table_2 ON conditions

WHERE

conditions

GROUP BY column_1

HAVING group_conditions

ORDER BY column_1

LIMIT offset, length;

SELECT 語法說明如下:

  • SELECT 後接的列名用逗號分隔,或者用*號來代表所有列明。
  • FROM 後面接數據來源,如數據集或者視圖.
  • JOIN 語句來增加其他數據集的數據;
  • WHERE 對結果進行篩選;
  • GROUP BY 數據進行分組並以此進行聚合;
  • HAVING 對聚合之後的結果進行篩選;
  • ORDER BY 對某列進行排序;
  • LIMIT 對結果輸出進行限制;

SELECT 和 FROM 關鍵字是必須的語句,其他為可選部分

稍後會對其他語句進行逐條講解,本節主講最簡單的select語句。

MySQL SELECT 語句實例

SELECT語句提供查詢功能,選取的列名用逗號來分隔,如果你想查詢一下數據, first name, last name, job title可以用如下語句實現:

SELECT

lastname, firstname, jobtitle

FROM

employees;

儘管在 employees 表中有很多列,但是用 SELECT 語句就可以返回需要的3列,其中包括所有行,如下圖中所示:

如果你想得到表的所有列,你可以列舉所有列名在select關鍵詞後,同時你也可以用*來代表所有列,如下代碼:

SELECT * FROM employees;

將返回所有列

你可以嘗試用*號來練習,實際應用中最好用枚舉法來實現,有如下幾個原因:

  • *佔用大量硬碟與帶寬;
  • 如果你想要確定的幾列,結果會更好組織與管理,如果有人改變了一些列,那麼,用*號的結果是很尷尬的;
  • 未授權的用戶會看到一些敏感數據,無法做到許可權管理;

推薦閱讀:

MySQL訓練——JOIN@sqlzoo.net
MySQL LIMIT 詳解
MySQL學習筆記(二)索引與視圖

TAG:MySQL | R编程语言 |