Toán tử AND trong MySQL
Trần Thị Vân
- 1260
- 14/08/2025
Chức năng của Toán tử AND trong MySQL
Toán tử AND trong MySQL được sử dụng để nối các điều kiện lại với nhau, các hàng trong bảng phải thỏa hết những điều kiện mà toán tử and nối lại với nhau.
Code Toán tử AND trong MySQL
select hienthi,ten,id,gia,id_cha1 from tb_sanpham where hienthi=1 and id_cha1=1;
select hienthi,ten,id,gia,id_cha1 from tb_sanpham where hienthi=1 and id_cha1=2;
<?php
$dbhost = 'localhost';
$dbuser = 'webmoi_userdata'; // Tên username
$dbpass = 'xgZwEfQWE'; // Mật khẩu
// Kết nối đến tên username
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ){
die('Không kết nối được: ' . mysql_error());
}
// Chọn tên database
mysql_select_db('webmoi_tendata');
// Xét kiểu tiếng việt
mysql_query('SET NAMES "utf8"');
// hienthi=1 and id_cha1=1
echo "<b>hienthi=1 and id_cha1=1</b><br>";
$sql ="select hienthi,ten,id,gia,id_cha1 from tb_sanpham where hienthi=1 and id_cha1=1";
$ketquamot = mysql_query($sql,$conn);
if(!$ketquamot){
die('Không thể lấy dữ liệu: ' . mysql_error());
}
// Dùng vòng lặp để lấy ra từng hàng trong bảng
while($row = mysql_fetch_array($ketquamot, MYSQL_ASSOC)){
echo "ID: {$row['id']} <br> ".
"ID Cha cấp một: {$row['id_cha1']} <br> ".
"Hiển thị: {$row['hienthi']} <br> ".
"Tên sản phẩm: {$row['ten']} <br> ".
"Giá : {$row['gia']} <br> ".
"--------------------------------<br>";
}
// hienthi=1 and id_cha1=2
echo "<b>hienthi=1 and id_cha1=2</b><br>";
$sql ="select hienthi,ten,id,gia,id_cha1 from tb_sanpham where hienthi=1 and id_cha1=2";
$ketquahai = mysql_query($sql,$conn);
if(!$ketquahai){
die('Không thể lấy dữ liệu: ' . mysql_error());
}
// Dùng vòng lặp để lấy ra từng hàng trong bảng
while($row = mysql_fetch_array($ketquahai, MYSQL_ASSOC)){
echo "ID: {$row['id']} <br> ".
"ID Cha cấp một: {$row['id_cha1']} <br> ".
"Hiển thị: {$row['hienthi']} <br> ".
"Tên sản phẩm: {$row['ten']} <br> ".
"Giá : {$row['gia']} <br> ".
"--------------------------------<br>";
}
// Đóng kết nối database
mysql_close($conn);
?>
Kết quả:
hienthi=1 and id_cha1=1
ID: 1
ID Cha cấp một: 1
Hiển thị: 1
Tên sản phẩm: Dàn karaoke gia đình KTreasure FE12 thương hiệu Đức
Giá : 55000000
--------------------------------
ID: 2
ID Cha cấp một: 1
Hiển thị: 1
Tên sản phẩm: Dàn karaoke gia đình KTreasure TD12 mới nhất
Giá : 44550000
--------------------------------
ID: 3
ID Cha cấp một: 1
Hiển thị: 1
Tên sản phẩm: Dàn âm thanh nghe nhạc AV01
Giá : 25000000
--------------------------------
ID: 4
ID Cha cấp một: 1
Hiển thị: 1
Tên sản phẩm: Dàn âm thanh nghe nhạc AV02
Giá : 30000000
--------------------------------
hienthi=1 and id_cha1=2
ID: 6
ID Cha cấp một: 2
Hiển thị: 1
Tên sản phẩm: Micro Shure SM58-LC
Giá : 2700000
--------------------------------
ID: 7
ID Cha cấp một: 2
Hiển thị: 1
Tên sản phẩm: Micro AKG D7 S
Giá : 3400000
--------------------------------
Cách sử dụng AND để lọc dữ liệu trong MySQL
Toán tử AND thường được sử dụng khi cần lọc dữ liệu theo nhiều điều kiện cùng lúc. Một bản ghi chỉ được chọn khi tất cả điều kiện đặt cạnh AND đều đúng. Cách này đặc biệt hữu ích khi truy vấn cần giới hạn kết quả chính xác hơn thay vì chỉ dựa vào một tiêu chí.
Lọc dữ liệu với nhiều điều kiện
Trong câu lệnh SELECT, AND thường đi cùng WHERE để kết hợp nhiều tiêu chí lọc. Chẳng hạn, khi muốn tìm khách hàng thuộc một thành phố cụ thể và đồng thời có trạng thái đang hoạt động, có thể đặt cả hai điều kiện trong cùng một mệnh đề WHERE.
Điểm cần nhớ là mỗi điều kiện đều phải được thỏa mãn. Nếu một điều kiện sai, bản ghi đó sẽ không xuất hiện trong kết quả, ngay cả khi các điều kiện còn lại đều đúng.
Kết hợp AND với các toán tử khác
AND có thể kết hợp với các toán tử như =, >, , >=, và LIKE để xây dựng điều kiện linh hoạt hơn. Ví dụ, có thể vừa kiểm tra giá sản phẩm lớn hơn một mức nhất định vừa giới hạn sản phẩm thuộc một danh mục.
Khi sử dụng nhiều loại điều kiện trong cùng truy vấn, nên đặt các biểu thức liên quan trong dấu ngoặc để thể hiện rõ thứ tự xử lý. Điều này giúp câu lệnh dễ đọc hơn và hạn chế kết quả khác với mục đích ban đầu.
Tránh lỗi khi kết hợp AND và OR
AND và OR có cách xử lý điều kiện khác nhau nên việc kết hợp hai toán tử trong một câu lệnh cần được chú ý. Nếu không dùng dấu ngoặc khi cần thiết, MySQL có thể đánh giá các điều kiện theo thứ tự ưu tiên của toán tử, khiến kết quả trả về rộng hơn hoặc khác với mong muốn.
Khi một nhóm điều kiện phải được xử lý như một khối, nên sử dụng dấu ngoặc để xác định rõ logic. Đây là cách đơn giản giúp truy vấn dễ kiểm tra, dễ bảo trì và tránh những lỗi lọc dữ liệu khó phát hiện.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Toán tử AND trong MySQL.
Tải file database .sql về nếu muốn kiểm tra hoặc thực hành Tải về.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *