How to Select Data in SQL
Learn how to query data from databases using SQL SELECT statements with filtering, sorting, and limiting.
The SELECT statement is the foundation of SQL queries. Here’s how to use it effectively.
Basic SELECT
Retrieve all columns from a table:
SELECT * FROM employees;
Select specific columns:
SELECT name, email, salary FROM employees;
Column Aliases
Rename columns in output:
SELECT
name AS employee_name,
salary AS annual_salary
FROM employees;
WHERE Clause - Filtering
Filter rows based on conditions:
-- Equals
SELECT * FROM employees WHERE department = 'Engineering';
-- Comparison operators
SELECT * FROM employees WHERE salary > 50000;
SELECT * FROM employees WHERE age >= 25;
-- Multiple conditions (AND/OR)
SELECT * FROM employees
WHERE department = 'Engineering' AND salary > 60000;
SELECT * FROM employees
WHERE department = 'Engineering' OR department = 'Marketing';
LIKE - Pattern Matching
Search for patterns in strings:
-- Names starting with 'A'
SELECT * FROM employees WHERE name LIKE 'A%';
-- Names ending with 'son'
SELECT * FROM employees WHERE name LIKE '%son';
-- Names containing 'an'
SELECT * FROM employees WHERE name LIKE '%an%';
IN - Multiple Values
Match against a list:
SELECT * FROM employees
WHERE department IN ('Engineering', 'Marketing', 'Sales');
ORDER BY - Sorting
Sort results:
-- Ascending (default)
SELECT * FROM employees ORDER BY name;
-- Descending
SELECT * FROM employees ORDER BY salary DESC;
-- Multiple columns
SELECT * FROM employees ORDER BY department, salary DESC;
LIMIT - Restrict Results
Limit number of rows returned:
-- First 10 rows
SELECT * FROM employees LIMIT 10;
-- Skip first 5, get next 10
SELECT * FROM employees LIMIT 10 OFFSET 5;
DISTINCT - Unique Values
Get unique values:
SELECT DISTINCT department FROM employees;
NULL Handling
Check for NULL values:
-- Find rows with NULL
SELECT * FROM employees WHERE manager_id IS NULL;
-- Find rows without NULL
SELECT * FROM employees WHERE manager_id IS NOT NULL;
Complete Example
SELECT
name,
department,
salary
FROM employees
WHERE department IN ('Engineering', 'Marketing')
AND salary > 50000
ORDER BY salary DESC
LIMIT 10;
Summary
- Use
SELECTto choose columns - Use
WHEREto filter rows - Use
ORDER BYto sort results - Use
LIMITto restrict row count - Use
DISTINCTfor unique values