SQL Practice Logo

SQLPractice Online

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.