Bài 17: Sử dụng AS (Alias) trong MySQL

Ở trong bài học phép tích trong MySQL chúng ta có làm một số ví dụ và tôi cũng có nói rằng khi tích hai bảng với nhau nếu có tên column trùng nhau thì phải sử dụng cú pháp ten_tabe.ten_field. Điều này thật là phiền nếu như tên bảng quá dài như ví dụ dưới đây:

SELECT tb_freetuts_product.cate_id, tb_freetuts_product.title, tb_freetuts_product_cate.title
FROM tb_freetuts_product, tb_freetuts_product_cate
WHERE tb_freetuts_product.cate_id = tb_freetuts_product_cate.id

Chưa tính đến chuyện tên column bị trùng nên dẫn đến sai. Vậy có giải pháp nào xử lý vụ này không? Chúng ta cùng tìm hiểu nhé.

1. Sử dụng AS (Alias) trong MySQL

Câu trả lời cho câu hỏi trên là ta sẽ sử dụng từ khóa AS (Alias) để đặt lại cái định danh mới cho Table, Column.

Chúng ta có hai cách viết như sau:

  • old_name AS new_name
  • old_name new_name

Nghĩa là ta sử dụng từ khóa AS để đặt tên mới hoặc là bỏ luôn chữ AS.

Sau đây là một số ví dụ:

# Sử dụng AS (Alias) cho column

Ví dụ: Trường hợp này cả hai bảng trùng tên column title nên ta phải dùng AS để định cái tên mới cho cả hai.

SELECT 
	tb_freetuts_product.cate_id AS cate_id, 
	tb_freetuts_product.title AS product_title, 
	tb_freetuts_product_cate.title AS cate_title
FROM 
	tb_freetuts_product, tb_freetuts_product_cate
WHERE 
	tb_freetuts_product.cate_id = tb_freetuts_product_cate.id
Hoặc:

SELECT 
	tb_freetuts_product.cate_id cate_id, 
	tb_freetuts_product.title product_title, 
	tb_freetuts_product_cate.title cate_title
FROM 
	tb_freetuts_product, tb_freetuts_product_cate
WHERE 
	tb_freetuts_product.cate_id = tb_freetuts_product_cate.id

Kết quả trả về của ví dụ này gồm các column: cate_id | product_title | cate_title

# Sử dụng AS (Alias) cho table

Ví dụ: Trường hợp này tên dài quá nên sử dụng AS để viết ngắn gọn hơn.

SELECT 
	product.cate_id AS cate_id, 
	product.title AS product_title, 
	cate.title AS cate_title
FROM 
	tb_freetuts_product AS product, tb_freetuts_product_cate AS cate
WHERE 
	product.cate_id = product.id

Như vậy khi ta đặt alias cho tên table thì ở WHERE và SELECT sử dụng ngắn gọn hơn rất nhiều.

2. Lời kết

Việc sử dụng AS (Alias) trong MySQL khi viết câu truy vấn giúp câu SQL ngắn gọn hơn rất nhiều. Trường hợp tên field bị trùng nhau thì chúng ta phải sử dụng AS để đặt một cái tên định danh mới cho các field. Riêng với Table thì nếu dùng AS thì ở WHERE và SELECT có thể lấy tên của  AS thay vì lấy tên gốc của table.

Bạn cần học phân tích CSDL qua dự án thực tế với MySQL?

Bạn đang muốn học cách phân tích xây dựng CSDL thực tế? Vậy thì hãy tham khảo khóa học MySQL dành cho người mới bắt đầu này nhé, trong khóa học này bạn sẽ được học truy vấn MySQL và phân tích mô hình dữ liệu cho dự án thực tế.

Nguồn: freetuts.net

KHÓA HỌC ĐANG GIẢM GIÁ

FEDU - 18 – Lập trình Backend cho website bằng PHP/Mysql theo mô hình MVC với Codeigniter Framework 3x

(Giảng viên: Nguyễn Đức Việt)

XEM
FEDU - 18-19: Học lập trình Back-end Php/MySQL theo mô hình MVC từ cơ bản – nâng cao (combo)

( Nguyễn Đức Việt)

XEM
UNICA - Lập trình Backend cho website bằng PHP/Mysql theo mô hình MVC

(Giảng viên: )

XEM
UNICA - Lập trình FULLSTACK với ANGULAR - PHP - MYSQL

(Giảng viên: )

XEM
KYNA - Lập trình Fullstack với Angular - PHP - MySQL

(Giảng viên: Nguyễn Đức Việt)

XEM