Introduction
Data querying is the heart of relational databases. This article guides you through the most common SQL statements used to retrieve, filter, and shape data.
SELECT Statement
The SELECT
clause specifies the columns to return.
SELECT FirstName, LastName, Email
FROM Employees;
Use *
to select all columns:
SELECT *
FROM Employees;
WHERE Clause
The WHERE
clause filters rows based on a predicate.
SELECT FirstName, Salary
FROM Employees
WHERE Salary > 60000
AND Department = 'Engineering';
Common operators: =
, <>
, >
, <
, BETWEEN
, IN
, LIKE
.
JOIN Operations
Combine rows from multiple tables using joins.
Inner Join
SELECT e.FirstName, d.DepartmentName
FROM Employees e
INNER JOIN Departments d
ON e.DepartmentId = d.Id;
Left (Outer) Join
SELECT e.FirstName, d.DepartmentName
FROM Employees e
LEFT JOIN Departments d
ON e.DepartmentId = d.Id;
Cross Join
SELECT a.Name, b.Name
FROM TableA a
CROSS JOIN TableB b;
Grouping Data
Use GROUP BY
with aggregate functions.
SELECT Department, COUNT(*) AS EmployeeCount, AVG(Salary) AS AvgSalary
FROM Employees
GROUP BY Department
HAVING COUNT(*) > 5;
Ordering Results
Sort output with ORDER BY
.
SELECT FirstName, Salary
FROM Employees
ORDER BY Salary DESC, FirstName ASC;
Subqueries
Embedding a query inside another query.
SELECT FirstName, Salary
FROM Employees
WHERE Salary > (SELECT AVG(Salary) FROM Employees);
Common Functions
Function | Description |
---|---|
COUNT(col) | Number of nonโNULL values |
SUM(col) | Total of numeric column |
AVG(col) | Average value |
MIN(col) | Minimum value |
MAX(col) | Maximum value |
GETDATE() | Current date & time |
LEN(string) | Length of a string |