投影查詢
使用SELECT * FROM <表名> WHERE <條件>可以選出表中的若干條記錄。我們注意到返回的二維表結(jié)構(gòu)和原表是相同的,即結(jié)果集的所有列與原表的所有列都一一對應(yīng)。
如果我們只希望返回某些列的數(shù)據(jù),而不是所有列的數(shù)據(jù),我們可以用SELECT 列1, 列2, 列3 FROM ...,讓結(jié)果集僅包含指定列。這種操作稱為投影查詢。
例如,從students表中返回id、score和name這三列:
-- 使用投影查詢
SELECT id, score, name FROM students;
Run
這樣返回的結(jié)果集就只包含了我們指定的列,并且,結(jié)果集的列的順序和原表可以不一樣。
使用SELECT 列1, 列2, 列3 FROM ...時,還可以給每一列起個別名,這樣,結(jié)果集的列名就可以與原表的列名不同。它的語法是SELECT 列1 別名1, 列2 別名2, 列3 別名3 FROM ...。
例如,以下SELECT語句將列名score重命名為points,而id和name列名保持不變:
-- 使用投影查詢,并將列名重命名:
SELECT id, score points, name FROM students;
Run
投影查詢同樣可以接WHERE條件,實現(xiàn)復(fù)雜的查詢:
-- 使用投影查詢+WHERE條件:
SELECT id, score points, name FROM students WHERE gender = 'M';
Run
小結(jié)
使用SELECT *表示查詢表的所有列,使用SELECT 列1, 列2, 列3則可以僅返回指定列,這種操作稱為投影。
SELECT語句可以對結(jié)果集的列進行重命名。