SELECT DISTINCT? select_obj FROM select_tab where_clause? select_option? union_clause? ;
select_obj = * | column* | function
select_tab = table join_clause?
select_option = GROUP BY | ORDER BY | HAVING
function = COUNT() | SUM() | AVG() | MAX() | MIN()

example:
    SELECT * FROM employees Union SELECT employee_id, first_name, last_name FROM employees;
    SELECT * FROM employees WHERE department_id = 10;
    SELECT * FROM employees ORDER BY hire_date DESC;
    SELECT COUNT(*), AVG(salary) FROM employees;
    SELECT department_id, COUNT(*) FROM employees GROUP BY department_id;
    SELECT e.first_name, d.department_name FROM employees e JOIN departments d ON e.department_id = d.department_id;
    SELECT
        column1,
        CASE WHEN column2 > 0 THEN 'Positive' ELSE 'Non-positive' END as status,
        SUBSTR(column3, 1, 5) as substring_column3
    FROM table_name;
    SELECT column1, COUNT(column2) FROM table_name GROUP BY column1 HAVING COUNT(column2) > 10;