MySQL SELECT

SELECT dùng để lấy dữ liệu từ bảng. Kết quả trả về là một bảng dữ liệu (result set).

Cú pháp:

SELECT column1, column2, ...
FROM table_name;

Nếu muốn lấy tất cả cột, dùng SELECT *.

Ví dụ: lấy các cột cơ bản của đơn hàng.

SELECT order_id, created_at, price_usd
FROM orders
LIMIT 10;

MySQL WHERE

WHERE dùng để lọc dữ liệu theo điều kiện. Chỉ các dòng thỏa điều kiện mới được trả về.

Cú pháp:

SELECT column1, column2
FROM table_name
WHERE condition;

Ví dụ: lọc đơn hàng có giá trị từ 50 USD trở lên.

SELECT order_id, price_usd
FROM orders
WHERE price_usd >= 50;

MySQL AND, OR, NOT

AND/OR/NOT dùng để kết hợp hoặc phủ định điều kiện trong WHERE.

Cú pháp:

WHERE condition1 AND condition2
WHERE condition1 OR condition2
WHERE NOT condition

Ví dụ: kết hợp nhiều điều kiện và loại trừ phiên quay lại.

SELECT website_session_id, utm_source, device_type
FROM website_sessions
WHERE utm_source = 'gsearch'
  AND device_type = 'desktop'
  AND NOT is_repeat_session = 1;

MySQL ORDER BY

ORDER BY dùng để sắp xếp kết quả theo cột tăng dần (ASC) hoặc giảm dần (DESC).

Cú pháp:

SELECT column1, column2
FROM table_name
ORDER BY column_name ASC|DESC;

Ví dụ: sắp xếp đơn hàng theo giá trị giảm dần.

SELECT order_id, created_at, price_usd
FROM orders
ORDER BY price_usd DESC
LIMIT 10;

MySQL NULL Values

NULL biểu thị giá trị trống/không xác định. Dùng IS NULL hoặc IS NOT NULL để kiểm tra.

Cú pháp:

WHERE column_name IS NULL
WHERE column_name IS NOT NULL

Ví dụ: tìm các phiên không có nguồn chiến dịch.

SELECT website_session_id, utm_source
FROM website_sessions
WHERE utm_source IS NULL
LIMIT 10;

MySQL LIMIT

LIMIT dùng để giới hạn số dòng kết quả trả về.

Cú pháp:

SELECT column1, column2
FROM table_name
LIMIT number;

Ví dụ: giới hạn số bản ghi trả về.

SELECT website_pageview_id, pageview_url
FROM website_pageviews
LIMIT 5;

MySQL MIN and MAX

MIN và MAX là hàm tổng hợp để lấy giá trị nhỏ nhất/lớn nhất của một cột.

Cú pháp:

SELECT MIN(column_name), MAX(column_name)
FROM table_name;

Ví dụ: lấy giá trị nhỏ nhất và lớn nhất của đơn hàng.

SELECT MIN(price_usd) AS min_price, MAX(price_usd) AS max_price
FROM orders;

MySQL COUNT, AVG, SUM

COUNT, AVG, SUM là các hàm tổng hợp để đếm, tính trung bình, và tính tổng.

Cú pháp:

SELECT COUNT(*), AVG(column_name), SUM(column_name)
FROM table_name;

Ví dụ: tính tổng số đơn, giá trị trung bình và tổng doanh thu.

SELECT COUNT(*) AS total_orders,
       AVG(price_usd) AS avg_order_value,
       SUM(price_usd) AS total_revenue
FROM orders;

MySQL LIKE

LIKE dùng để tìm chuỗi theo mẫu ký tự.

Cú pháp:

WHERE column_name LIKE pattern;

Ví dụ: tìm các trang bắt đầu bằng đường dẫn /products.

SELECT website_pageview_id, pageview_url
FROM website_pageviews
WHERE pageview_url LIKE '/products%'
LIMIT 10;

MySQL Wildcards

Ký tự đại diện trong LIKE:

  • % đại diện cho nhiều ký tự.
  • _ đại diện cho một ký tự.

Ví dụ: lọc đường dẫn có một ký tự sau /products/.

SELECT website_pageview_id, pageview_url
FROM website_pageviews
WHERE pageview_url LIKE '/products/_%'
LIMIT 10;

MySQL IN

IN dùng để kiểm tra một giá trị có nằm trong danh sách không.

Cú pháp:

WHERE column_name IN (value1, value2, ...);

Ví dụ: lọc đơn hàng có sản phẩm chính nằm trong danh sách.

SELECT order_id, primary_product_id, price_usd
FROM orders
WHERE primary_product_id IN (1, 2, 3);

MySQL BETWEEN

BETWEEN dùng để lọc giá trị trong một khoảng (bao gồm cả 2 đầu mút).

Cú pháp:

WHERE column_name BETWEEN value1 AND value2;

Ví dụ: lọc đơn hàng có giá trị trong khoảng 20–80 USD.

SELECT order_id, price_usd
FROM orders
WHERE price_usd BETWEEN 20 AND 80;