Chuyển đến nội dung chính

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:
1
2
3
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.
1
2
3
4
5
6
7
8
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:
1
2
3
4
5
6
7
8
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.
1
2
3
4
5
6
7
8
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.
https://freetuts.net/su-dung-as-alias-trong-mysql-338.html

Nhận xét

Bài đăng phổ biến từ blog này

Entry Test của FPT

IQ - Kiểm tra tư duy logic (8/20) - GMAT- Kiểm tra khả năng tính toán trong thời gian ngắn (8/20) - Tiếng Anh (18-> 25/50) - Các bài thi chuyên môn - FE (8/20) IQ: lên mạng tìm "IQ test" là ra đầy. + GMAT: Những câu trắc nghiệm tính toán đơn giản kiểu như sau:  1 . Một shop thời trang sale off quần jeans 15 %, quần jeans giá 450 $, người mua đưa 500 $, hỏi cashier trả lại bao nhiêu $ tiền thừa.? 2 . 100 % là 180 , vậy 150 là bao nhiêu %? Tiếng anh: Cỡ như thi TOEIC thôi. Chuyên môn: Mobile thì trắc nghiệm Java. Qúa trình tuyển như sau :v Lần 1: Test IQ, Tiếng Anh( mình làm í ẹ khoảng 50% mà vẫn được) , Java Lân 2: được gọi điện lên :)) + Gioi thiệu bản thân + Họ chỉ hỏi các câu căn bản như: -. OOP: là gì, 4 tính chất, ví dụ, khác nhau giữa interface và abstract - CODE: hầu toàn các bài toán vòng for :)) , cẩn thận mấy câu kế thừa. SQL (distinct, view, function, cursor, store procedure, ...v.v.), nhớ có câu cộng 2 số int không dùng biến đệm hơi khoai haha + Nói ch...

Java: Java Package-Thư viện trong Java

Giới thiệu về Package Các bạn mới học lập trình Java thường không dể ý tới package vì các bạn toàn tạo file .java vào cùng 1 chỗ, không cần sắp xếp, không cần quản lý truy nhập. Nhưng để tăng kỹ năng lập trình với Java, các bạn cần phải tìm hiểu về package trong Java. Các bạn có thể tham khảo định nghĩa sau: Package được dùng để đóng gói các lớp trong chương trình lại với nhau thành một khối. Đây là cách tốt nhất để lưu trữ các lớp gần giống nhau hoặc có cùng một module thành một khối thống nhất – để đáp ứng 1 khối chức năng. Từ đây mình sẽ giới thiệu thêm với các bạn các câu lệnh nhâp khẩu,nó có định dạng như sau : Định dạng :  import javaPackageNameImport;    Nó giống như khai báo thư viện ở các ngôn ngữ lập trình khác.Như vậy,chỉ khi các bạn nhập khẩu chúng,các bạn mới có thể sử dụng thư viện mà chúng cung cấp cho ta. VD :    import java.util.Date;   import java.text.SimpleDateFormat; Lưu ý : -Các câu lệnh nhập khẩu rất nhiều và...

Khác nhau giữa Array và ArrayList và HashMap

Collection bản chất là tập các lớp dùng để lưu trữ danh sách và có khả năng tự co giãn khi danh sách thay đổi : Thêm , sửa , xóa , chèn … Hai lớp Collection thường được sử dụng nhiều nhất là ArrayList và Hashmap Giới thiệu về ArrayList ArrayList sử dụng cấu trúc mảng để lưu trữ phần tử , tuy nhiên có hai đặc điểm khác mảng : Không cần khai báo trước kiểu phần tử . Không cần xác định trước số lượng phần tử ( kích thước mảng ). N ó có kh ả năng truy c ậ p ph ầ n t ử ng ẫ u nhiên (Do th ừ a k ế t ừ interface RandomAccess ). P hương thức khởi tạo ● ArrayList () ● ArrayList (Collection c) ● ArrayList ( int initialCapactity ) Các phương thức chính ● add(Object o) ● remove(Object o) ● get( int index) ● size() ● isEmpty () ● contains(Object o) ● clear() Giới thiệu về HashMap ● Là ki ể u t ậ p h ợ p t ừ đ i ể n, HashMap cho phép truy xu ấ t tr ự c ti ế p t ớ i m ộ ...