SQL Data Querying

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

FunctionDescription
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

Table of Contents