Những điều hay ho về SELECT mà ít người để ý phần 1

Hôm nay, chúng mình sẽ bàn về SELECT với ALIASES.

Lỗi như vậy là do chúng ta chưa quan tâm đến thứ tự logic của câu lệnh SELECT, các bạn có thể tham khảo ở Logical Processing Order of the SELECT statement. Quay lại vấn đề ban đầu, lỗi như vậy là do, trên thực thế, khi thực thi câu lệnh sql thì thứ tự là FROM > WHERE > SELECT, như vậy là do tại WHERE thì câu lệnh đổi tên chưa được thực thi nên báo lỗi.

Nhưng nếu chúng ta vẫn muốn đạt được mục đích tham chiếu đến alias name đó thì sao? Đó là lúc chúng ta cần đến một cái gọi là INLINE VIEW.

select
	*
from 
	(
		select
			productid	as id,
			productname as name
		from 
			products
	) x
where
	x.id between 1 and 10
-- x hoặc x.id đều được

Biến x ở trên tuỳ thuộc vào từng RDBMS mà có bắt buộc hay không, nếu bạn dùng SQL Server thì bắt buộc phải có, nó là tên của INLINE VIEW. Nó chạy được là do theo thứ tự đã nói ở trên FROM > WHERE, nên ở WHERE nó hiểu và quá trình thực thi câu lệnh chắc chắn thành công.

Mình viết bài này hoàn toàn là vì cộng đồng, nhưng nếu các bạn thấy hay, có ích mà muốn donate cho mình, mình rất cảm ơn, cũng như là một nguồn động lực to lớn để mình ra được các bài viết chất lượng hơn.

Buy me a coffee

Buy me a coffee