How to Select Data in SQL | The School of Code

Settings

Appearance

Choose a typography theme that suits your style

Back to How-to Guides
SQL

How to Select Data in SQL

Learn how to query data from databases using SQL SELECT statements with filtering, sorting, and limiting.

SQLSELECTDatabaseQueries

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 SELECT to choose columns
  • Use WHERE to filter rows
  • Use ORDER BY to sort results
  • Use LIMIT to restrict row count
  • Use DISTINCT for unique values