Column Aliasing & Expressions: Functions
Module: SQL Fundamentals
-- Column alias with AS (recommended)
SELECT
first_name AS fname,
last_name AS lname,
salary AS annual_salary
FROM employees;
-- Arithmetic expression
SELECT
product_name,
price,
quantity,
price * quantity AS subtotal,
price * quantity * 1.08 AS total_with_tax,
ROUND(price * quantity, 2) AS subtotal_rounded
FROM order_items;
-- String concatenation (portable CONCAT)
SELECT
CONCAT(first_name, ' ', last_name) AS full_name,
CONCAT('EMP-', employee_id) AS emp_code
FROM employees;
-- Table aliases in JOIN
SELECT
e.first_name,
e.last_name,
d.name AS department_name,
e.salary * 12 AS annual_salary
FROM employees e
JOIN departments d ON e.department_id = d.id
ORDER BY annual_salary DESC;
-- NULL-safe concatenation
SELECT
COALESCE(first_name, '') || ' ' || COALESCE(last_name, '') AS full_name
FROM employees;
Column alias syntax: column_name AS alias_name — AS keyword is optional but always use it for clarity
Aliases are available in ORDER BY (runs after SELECT) but NOT in WHERE or HAVING (run before SELECT)
GROUP BY alias support: MySQL allows it, PostgreSQL/SQL Server/Oracle require repeating the expression
Double-quote aliases containing spaces or reserved words: SELECT salary AS "Annual Salary"
Table alias syntax: FROM employees e — same short form applies to JOIN targets
Arithmetic precedence: () → * / % → + - — always use parentheses in multi-step formulas
CONCAT() ignores NULL operands. GROUP BY can reference SELECT aliases. || requires sql_mode=PIPES_AS_CONCAT.