SELECT
The SELECT
statement retrieves rows from one or more tables or views.
Syntax
SELECT select_list FROM table_expression [WHERE search_condition] [GROUP BY grouping_expression [,...]] [HAVING search_condition] [ORDER BY order_expression [ASC|DESC] [,...]] [OFFSET offset_row_count ROWS FETCH NEXT fetch_row_count ROWS ONLY];
Parameters
- select_list: List of columns, expressions, or
*
to return. - table_expression: One or more tables, joins, or subqueries.
- WHERE: Optional filter applied before grouping.
- GROUP BY: Groups rows that have the same values.
- HAVING: Filters groups after
GROUP BY
. - ORDER BY: Sorts the result set.
- OFFSET / FETCH: Implements pagination.
Examples
Basic SELECT
SELECT FirstName, LastName, HireDate FROM HumanResources.Employee WHERE HireDate > '2015-01-01' ORDER BY HireDate DESC;
Aggregating Data
SELECT DepartmentID, COUNT(*) AS EmployeesCount, AVG(Salary) AS AvgSalary FROM HumanResources.Employee GROUP BY DepartmentID HAVING COUNT(*) > 5;
Pagination
SELECT ProductID, Name, ListPrice FROM Production.Product ORDER BY ListPrice DESC OFFSET 20 ROWS FETCH NEXT 10 ROWS ONLY;