SQL - Filtering The Output

SQL - Filtering The Output

2020, Jul 12    

Sử dụng các phép toán cơ bản để filter dữ liệu

Tạo table BIN và insert data sau

bin card_network card_type
469174 Visa 2
45587232 Visa 1
47738927 Visa 2
53035843 MasterCard 1
  • Toán sử so sánh: =, >, <, >=, >=, …
mysql> SELECT * FROM BIN WHERE card_network='Visa';
+----------+--------------+-----------+
| bin      | card_network | card_type |
+----------+--------------+-----------+
|   469174 | Visa         |         2 |
| 45587232 | Visa         |         1 |
| 47738927 | Visa         |         2 |
+----------+--------------+-----------+
3 rows in set (0.02 sec)
  • IN(), NOT IN() - Lấy theo tập dữ liệu
mysql> SELECT * FROM BIN WHERE bin IN (45587232, 47738927);
+----------+--------------+-----------+
| bin      | card_network | card_type |
+----------+--------------+-----------+
| 45587232 | Visa         |         1 |
| 47738927 | Visa         |         2 |
+----------+--------------+-----------+
2 rows in set (0.01 sec)
  • IS NULL, IS NOT NULL - Chỉ lấy các giá trị NULL, NOT NULL
mysql> SELECT * FROM BIN WHERE card_network IS NULL;
Empty set (0.02 sec)
  • LIKE() - Lấy theo pattern

    % lấy bất cứ ký tự nào thỏa mãn

mysql> SELECT * FROM BIN WHERE bin like '45%';
+----------+--------------+-----------+
| bin      | card_network | card_type |
+----------+--------------+-----------+
| 45587232 | Visa         |         1 |
+----------+--------------+-----------+
1 row in set (0.79 sec)

_ lấy đúng 1 ký dự thỏa mãn

mysql> SELECT * FROM BIN WHERE bin like '45_';
Empty set (0.01 sec)
  • AND, OR - Các phép kết hợp
mysql> SELECT * FROM BIN WHERE card_network='Visa' AND card_type!=1;
+----------+--------------+-----------+
| bin      | card_network | card_type |
+----------+--------------+-----------+
|   469174 | Visa         |         2 |
| 47738927 | Visa         |         2 |
+----------+--------------+-----------+
2 rows in set (0.00 sec)