1. Syntax
SELECT column1, column2, ...
FROM table_name
WHERE condition
ORDER BY column ASC|DESC
LIMIT number;
2. Suppose We Have This Table: employees
id | name | email | hire_date | salary |
1 | Alice Johnson | alice.johnson@example.com | 2023-01-15 | 60000.00 |
2 | Bob Smith | bob.smith@example.com | 2021-08-22 | 55000.00 |
3 | Carol Lee | carol.lee@example.com | 2024-03-10 | 70000.00 |
4 | David Kim | david.kim@example.com | 2022-11-05 | 65000.00 |
5 | Eve Turner | eve.turner@example.com | 2023-06-30 | 62000.00 |
3. Examples and Expected Output
a) Select All Columns for All Rows
SELECT * FROM employees;
id | name | email | hire_date | salary |
1 | Alice Johnson | alice.johnson@example.com | 2023-01-15 | 60000.00 |
2 | Bob Smith | bob.smith@example.com | 2021-08-22 | 55000.00 |
3 | Carol Lee | carol.lee@example.com | 2024-03-10 | 70000.00 |
4 | David Kim | david.kim@example.com | 2022-11-05 | 65000.00 |
5 | Eve Turner | eve.turner@example.com | 2023-06-30 | 62000.00 |
b) Select Specific Columns
SELECT name, email, salary FROM employees;
name | email | salary |
Alice Johnson | alice.johnson@example.com | 60000.00 |
Bob Smith | bob.smith@example.com | 55000.00 |
Carol Lee | carol.lee@example.com | 70000.00 |
David Kim | david.kim@example.com | 65000.00 |
Eve Turner | eve.turner@example.com | 62000.00 |
c) Select Rows with Condition
SELECT * FROM employees WHERE salary > 60000;
id | name | email | hire_date | salary |
3 | Carol Lee | carol.lee@example.com | 2024-03-10 | 70000.00 |
4 | David Kim | david.kim@example.com | 2022-11-05 | 65000.00 |
5 | Eve Turner | eve.turner@example.com | 2023-06-30 | 62000.00 |
d) Select and Order Results
SELECT * FROM employees ORDER BY hire_date DESC;
id | name | email | hire_date | salary |
3 | Carol Lee | carol.lee@example.com | 2024-03-10 | 70000.00 |
5 | Eve Turner | eve.turner@example.com | 2023-06-30 | 62000.00 |
1 | Alice Johnson | alice.johnson@example.com | 2023-01-15 | 60000.00 |
4 | David Kim | david.kim@example.com | 2022-11-05 | 65000.00 |
2 | Bob Smith | bob.smith@example.com | 2021-08-22 | 55000.00 |
e) Select Limited Rows
SELECT * FROM employees LIMIT 3;
id | name | email | hire_date | salary |
1 | Alice Johnson | alice.johnson@example.com | 2023-01-15 | 60000.00 |
2 | Bob Smith | bob.smith@example.com | 2021-08-22 | 55000.00 |
3 | Carol Lee | carol.lee@example.com | 2024-03-10 | 70000.00 |
Reference:
Official PostgreSQL Documentation: SELECT