Why I like these SQL tricks - Part 1
Trong l?p SQL c?a mình, các b?n h?c viên hay th?c m?c t?i sao có WHERE 1=1, ?ó c?ng chính là ly do mình vi?t bài này nh?m chia s? các tips nh? mình hay dùng khi s? d?ng SQL.
Where 1=1
1=1 k?t qu? trong SQL s? là TRUE, nh? v?y s? d?ng Where 1=1 ngh?a là WHERE TRUE. N?u ch? d?ng l?i ? ?ay thì s? d?ng Where 1=1 kh?ng ?nh h??ng lên k?t qu? c?a Query, nh?ng khi k?t h?p v?i các filters khác thì b?n s? th?y c?ng d?ng c?a nó:
Giúp code c?a b?n d? ch?nh s?a h?n
Khi mu?n thêm 1 filter trong WHERE, b?n ch? ??n gi?n thêm dòng:
Where 1=1
AND ....
AND ....
T??ng t?, b? b?t 1 filter trong WHERE, b?n ch? c?n comment out dòng ?ó
Where 1=1
AND ....
-- AND ....
Ví d?:
Khi mình thêm 1 filter là Category = 'Fashion'
Khi mình xóa filter Category = 'Fashion', n?u kh?ng có 1=1 b?n s? g?p l?i t?i dòng l?nh 'AND Quantity = 2' vì lúc này, SQL s? hi?u b?n vi?t
WHERE
AND Quantity = 2
Nh?ng khi có 1=1, SQL s? hi?u b?n ?ang dùng 2 filter (1=1) và 'Quantity = 2', lúc này code s? ch?y mà kh?ng g?p l?i n?a.
WHERE 1=1
AND Quantity = 2
b?n kh?ng c?n xóa 'AND' ? dòng code 'AND Quantity = 2'
T??ng t?, b?n có th? xóa ho?c thêm b?t kì filters nào mà kh?ng c?n b?n tam v? vi?c sai syntax.
M?i column 1 row và d?u ph?y ??t ? ??u hay cu?i?
V?i mình m?i c?t mình ??u xu?ng dòng, vì...
d? nhìn, d? debug và khi ??a code cho ng??i khác ??c h? c?ng d? hi?u h?n
Ví d?:
V?y d?u ph?y ng?n cách m?i column nên ??t ? ??u hay cu?i. Mình là fan c?a vi?c ??t d?u ph?y ? ??u, vì ...
d? thêm và b?t 1 column khi code
Ví d?, khi mình comment out 1 column 'Item_name' và ch?y code, mình s? g?p l?i vì d? 1 d?u "," sau CustomerID
Nh?ng, khi mình ??t d?u ph?y ? ??u cau, thì cau Query kh?ng b? l?i. Vì lúc này b?n kh?ng còn d? d?u "," nào n?a.
Cám ?n b?n ?? ??c bài vi?t !!!
N?u b?n có h?ng thú v?i các bài chia s? c?a mình thì có th? tham kh?o thêm các bài vi?t d??i ?ay ho?c subcribe kênh YouTube c?a mình t?i ?ay:
1) Mình tr? thành Data Analyst nh? th? nào? Link
2) Mình h?c gì ?? tr? thành Data Analyst? Link
3) Hành trình làm data analyst t? Vi?t Nam sang ??c (Sponsor Visa) Link
?? l?i bình lu?n và t??ng tác ?? mình có thêm ??ng l?c vi?t ti?p Part 2 nha !!!
Data Analyst
6 个月v? d?u "," ? ??u hay cu?i n?u xét ? v?n ?? thêm hay b?t 1 column thì mình th?y g?n gi?ng nhau th?i vì n?u xoá c?t ??u tiên thì ph?i kèm theo ?ó là d?u "," ? tr??c column th? 2, n?u kh?ng s? b? l?i. Truoc gi? mình ?? d?u "," ? ??u là ban ??u là ?? d? nhìn m?y ch? có CASE WHEN. ngh? t?i c?nh ??i khi ph?i CASE WHEN 4,5 c?p mà ?? d?u "," ? cu?i thì mình th?y khó ? r?i ?ó. Còn v? WHERE 1=1 thì x?a gi? mình ko bao gi? dùng trick này vì ki?u gì c?ng s? ?nh h??ng t?i th?i gian ch?y code. Dù 1=1 lu?n ?úng thì sql c?ng ph?i ch?y 1 phép so sánh m?i th?y nó ?úng ch? làm gì có chuy?n máy tính nó m?c ??nh ???c 1 lúc nào c?ng = 1. ??i l?i chia s?
Strategy, Data, Gentle Growth ??
1 年Thanks em for sharing! there are also two of my personal favorites :)