select 語句適用于表和視圖:
SELECT語法:
SELECT 語句用于表或者視圖堆缘。一個(gè)表包含行與列实苞,你可以想象一下excel表缭受,你想查看行的自給或者列的子集分瘾,按條件篩選和隱藏列功能,當(dāng)然也可以計(jì)算列(A1+B1)紊婉,select 的功能就是引出你想要結(jié)果的列名药版。
查看數(shù)據(jù)集的employees表, 包含以下8列:
employee number,
last name,
first name,
extension,
email,
office code,
reports to,
job title喻犁。
SELECT 語句功能是控制哪些行和列顯示槽片,例如,你只對(duì) 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 后接的列名用逗號(hào)分隔,或者用*號(hào)來代表所有列明乔妈。
FROM 后面接數(shù)據(jù)來源,如數(shù)據(jù)集或者視圖.
JOIN?語句來增加其他數(shù)據(jù)集的數(shù)據(jù)氓皱;
WHERE?對(duì)結(jié)果進(jìn)行篩選路召;
GROUP BY?數(shù)據(jù)進(jìn)行分組并以此進(jìn)行聚合;
HAVING?對(duì)聚合之后的結(jié)果進(jìn)行篩選波材;
ORDER BY?對(duì)某列進(jìn)行排序股淡;
LIMIT?對(duì)結(jié)果輸出進(jìn)行限制;
SELECT 和 FROM 關(guān)鍵字是必須的語句廷区,其他為可選部分
稍后會(huì)對(duì)其他語句進(jìn)行逐條講解唯灵,本節(jié)主講最簡(jiǎn)單的select語句。
MySQL SELECT 語句實(shí)例
SELECT語句提供查詢功能隙轻,選取的列名用逗號(hào)來分隔埠帕,如果你想查詢一下數(shù)據(jù), first name, last name, job title可以用如下語句實(shí)現(xiàn):
SELECT
lastname, firstname, jobtitle
FROM
employees;
盡管在 employees 表中有很多列玖绿,但是用 SELECT 語句就可以返回需要的3列敛瓷,其中包括所有行,如下圖中所示:
如果你想得到表的所有列斑匪,你可以列舉所有列名在select關(guān)鍵詞后呐籽,同時(shí)你也可以用*來代表所有列,如下代碼:
SELECT * FROM employees;
練習(xí)一下www.mysqltutorial.org
將返回所有列
你可以嘗試用*號(hào)來練習(xí),實(shí)際應(yīng)用中最好用枚舉法來實(shí)現(xiàn)狡蝶,有如下幾個(gè)原因:
占用大量硬盤與帶寬庶橱;
如果你想要確定的幾列,結(jié)果會(huì)更好組織與管理贪惹,如果有人改變了一些列苏章,那么,用*號(hào)的結(jié)果是很尷尬的馍乙;
未授權(quán)的用戶會(huì)看到一些敏感數(shù)據(jù)布近,無法做到權(quán)限管理;