SELECT语句用于从表中检索记录.
语法
以下是SELECT语句的基本语法.
SELECT column 1, column 2, ..... FROM tablename;
示例
考虑以下员工表.
EmployeeNo | FirstName | LastName | JoinedDate | DepartmentNo | BirthDate |
---|---|---|---|---|---|
101 | Mike | 詹姆斯 | 3/27/2005 | 1 | 1/5/1980 |
102 | Robert | Williams | 2007年4月25日 | 2 | 3/5/1983 |
103 | Peter | Paul | 2007年3月21日 | 2 | 4/1/1983 |
104 | Alex | Stuart | 2008年2月1日 | 2 | 11/6/1984 |
105 | Robert | James | 1/4/2008 | 3 | 12/1/1984 |
以下是SELECT语句的示例.
SELECT EmployeeNo,FirstName,LastName FROM Employee;
执行此查询时,它从employee表中提取EmployeeNo,FirstName和LastName列.
EmployeeNo FirstName LastName ----------- ------------------------------ --------------------------- 101 Mike James 104 Alex Stuart 102 Robert Williams 105 Robert James 103 Peter Paul
如果你想从表中获取所有列,你可以使用以下命令而不是列出所有列.
SELECT * FROM Employee;
上述查询将从employee表中获取所有记录.
WHERE子句
WHERE子句用于过滤SELECT语句返回的记录.条件与WHERE子句相关联.仅返回满足WHERE子句中条件的记录.
语法
以下是带有WHERE子句的SELECT语句的语法.
SELECT * FROM tablename WHERE[condition];
示例
以下查询获取EmployeeNo为101的记录.
SELECT * FROM Employee WHERE EmployeeNo = 101;
执行此查询时,它会返回以下记录.
EmployeeNo FirstName LastName ----------- ------------------------------ - ---------------------------- 101 Mike James
ORDER BY
执行SELECT语句时,返回的行不按任何特定顺序排列. ORDER BY子句用于在任何列上按升序/降序排列记录.
语法
以下是SELECT语句的语法ORDER BY子句.
SELECT * FROM tablename ORDER BY column 1, column 2..;
示例
以下查询从employee表中提取记录,并按FirstName对结果进行排序.
SELECT * FROM Employee ORDER BY FirstName;
执行上述查询时,会产生以下输出.
EmployeeNo FirstName LastName ----------- ------------------------------ ----------------------------- 104 Alex Stuart 101 Mike James 103 Peter Paul 102 Robert Williams 105 Robert James
GROUP BY
使用GROUP BY子句使用SELECT语句并将类似的记录安排到组中.
语法
以下是带有GROUP BY子句的SELECT语句的语法.
SELECT column 1, column2 …. FROM tablename GROUP BY column 1, column 2..;
示例
以下示例按DepartmentNo列对记录进行分组,并标识每个部门的总计数.
SELECT DepartmentNo,Count(*) FROM Employee GROUP BY DepartmentNo;
执行上述查询时,会产生以下输出.
DepartmentNo Count(*) ------------ ----------- 3 1 1 1 2 3