select 語句適用于表和視圖:
SELECT語法:
SELECT 語句用于表或者視圖。一個表包含行與列,你可以想象一下excel表,你想查看行的自給或者列的子集,按條件篩選和隱藏列功能,當(dāng)然也可以計算列(A1+B1),select 的功能就是引出你想要結(jié)果的列名。
查看數(shù)據(jù)集的employees表, 包含以下8列:
employee number,
last name,
first name,
extension,
email,
office code,
reports to,
job title。
SELECT 語句功能是控制哪些行和列顯示,例如,你只對 first name, last name, job 或者你只想看哪些雇員的 job title 是reports to,select幫助你完成這些功能。
看一下 SELECT 語法規(guī)則:
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 后面接數(shù)據(jù)來源,如數(shù)據(jù)集或者視圖.
JOIN?語句來增加其他數(shù)據(jù)集的數(shù)據(jù);
WHERE?對結(jié)果進(jìn)行篩選;
GROUP BY?數(shù)據(jù)進(jìn)行分組并以此進(jìn)行聚合;
HAVING?對聚合之后的結(jié)果進(jìn)行篩選;
ORDER BY?對某列進(jìn)行排序;
LIMIT?對結(jié)果輸出進(jìn)行限制;
SELECT 和 FROM 關(guān)鍵字是必須的語句,其他為可選部分
稍后會對其他語句進(jìn)行逐條講解,本節(jié)主講最簡單的select語句。
MySQL SELECT 語句實例
SELECT語句提供查詢功能,選取的列名用逗號來分隔,如果你想查詢一下數(shù)據(jù), first name, last name, job title可以用如下語句實現(xiàn):
SELECT
lastname, firstname, jobtitle
FROM
employees;
盡管在 employees 表中有很多列,但是用 SELECT 語句就可以返回需要的3列,其中包括所有行,如下圖中所示:
如果你想得到表的所有列,你可以列舉所有列名在select關(guān)鍵詞后,同時你也可以用*來代表所有列,如下代碼:
SELECT * FROM employees;
練習(xí)一下www.mysqltutorial.org
將返回所有列
你可以嘗試用*號來練習(xí),實際應(yīng)用中最好用枚舉法來實現(xiàn),有如下幾個原因:
占用大量硬盤與帶寬;
如果你想要確定的幾列,結(jié)果會更好組織與管理,如果有人改變了一些列,那么,用*號的結(jié)果是很尷尬的;
未授權(quán)的用戶會看到一些敏感數(shù)據(jù),無法做到權(quán)限管理;