SQL & Database/SQL cơ bản/SQL cơ bản — SELECT, WHERE, JOIN
1/2
~15 phútSQL cơ bản

SQL cơ bản — SELECT, WHERE, JOIN

Nền tảng SQL: cách query data, filter, và combine data từ nhiều bảng.

SELECT — Truy vấn dữ liệu

-- Lấy tất cả columns
SELECT * FROM users;

-- Chỉ lấy columns cần thiết (best practice)
SELECT id, name, email FROM users;

-- Alias
SELECT
    first_name AS "Họ",
    last_name AS "Tên",
    salary * 12 AS annual_salary
FROM employees;

WHERE — Lọc dữ liệu

SELECT * FROM users
WHERE age >= 18
  AND status = 'active'
  AND email LIKE '%@gmail.com'
  AND city IN ('HCM', 'Hanoi', 'Danang');

JOIN — Kết hợp bảng

-- INNER JOIN: chỉ lấy records match cả 2 bảng
SELECT u.name, o.total
FROM users u
INNER JOIN orders o ON u.id = o.user_id;

-- LEFT JOIN: lấy tất cả users, kể cả chưa có order
SELECT u.name, COALESCE(o.total, 0) as total
FROM users u
LEFT JOIN orders o ON u.id = o.user_id;
INNER JOIN         LEFT JOIN          RIGHT JOIN         FULL OUTER JOIN
  ┌───┐             ┌───┐             ┌───┐               ┌───┐
  │ ██│             │███│             │ ██│               │███│
  │███│             │███│             │███│               │███│
  │██ │             │██ │             │███│               │███│
  └───┘             └───┘             └───┘               └───┘

Key insight: Luôn dùng explicit JOIN syntax (JOIN ... ON) thay vì implicit (WHERE a.id = b.id). Dễ đọc hơn và tránh accidental cross join.