Trần Ngọc Thanh
- 21
- 15/08/2025
Mệnh đề JOIN trong MySQL gồm có nhiều loại nhưng có mục đích chung là nối các bảng lại với nhau rồi lấy các cột của các bảng chỉ trong một câu lệnh select, chi tiết như nào hãy cùng chúng tôi phân tích:
Mệnh đề JOIN trong MySQL
Chức năng của Mệnh đề JOIN trong MySQL
Mệnh đề JOIN trong MySQL gồm có nhiều loại nhưng có mục đích chung là nối các bảng lại với nhau rồi lấy các cột của các bảng chỉ trong một câu lệnh select.
Các loại Mệnh đề JOIN trong MySQL
INNER JOIN trong Mệnh đề JOIN
INNER JOIN trong Mệnh đề JOIN dùng để nối nhiều bảng lại với nhau thông qua một cột giống nhau của các bảng, giúp lấy ra các cột của các bảng, và các hàng được lấy sẽ có giá trị giống nhau trong cột nối, ví dụ ở tb_sinhvien có mssv bằng 3 và ở bảng tb_hocphi cũng có mssv bằng 3 thì hàng chứa mssv này sẽ được lấy.
<?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"');
// Xem bảng tb_sinhvien
echo "<b>Xem bảng tb_sinhvien</b><br>";
$sql ="select mssv,hoten from tb_sinhvien";
$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 "mssv: {$row['mssv']} <br> ".
"hoten: {$row['hoten']} <br> ".
"--------------------------------<br>";
}
// Xem bảng tb_hocphi
echo "<b>Xem bảng tb_hocphi</b><br>";
$sql ="select mssv,hocphi from tb_hocphi";
$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 "mssv: {$row['mssv']} <br> ".
"hocphi: {$row['hocphi']} <br> ".
"--------------------------------<br>";
}
//INNER JOIN
echo "<b>INNER JOIN</b><br>";
$sql ="select tb_sinhvien.mssv,tb_sinhvien.hoten, tb_hocphi.hocphi from tb_sinhvien INNER JOIN tb_hocphi ON tb_sinhvien.mssv = tb_hocphi.mssv";
$ketquaba = mysql_query($sql,$conn);
if(!$ketquaba){
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($ketquaba, MYSQL_ASSOC)){
echo "mssv: {$row['mssv']} <br> ".
"hoten: {$row['hoten']} <br> ".
"hocphi: {$row['hocphi']} <br> ".
"--------------------------------<br>";
}
// Đóng kết nối database
mysql_close($conn);
?>
Kết quả:
Xem bảng tb_sinhvien
mssv: 1
hoten: Bùi Tấn Lực
--------------------------------
mssv: 2
hoten: Trần Thị Vân
--------------------------------
mssv: 3
hoten: Bùi Đan Trúc Quỳnh
--------------------------------
mssv: 4
hoten: Nguyễn Thùy Dung
--------------------------------
mssv: 5
hoten: Nguyễn Thảo Nhật Hạ
--------------------------------
Xem bảng tb_hocphi
mssv: 1
hocphi: 5000000
--------------------------------
mssv: 2
hocphi: 6000000
--------------------------------
mssv: 3
hocphi: 5500000
--------------------------------
INNER JOIN
mssv: 1
hoten: Bùi Tấn Lực
hocphi: 5000000
--------------------------------
mssv: 2
hoten: Trần Thị Vân
hocphi: 6000000
--------------------------------
mssv: 3
hoten: Bùi Đan Trúc Quỳnh
hocphi: 5500000
--------------------------------
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Mệnh đề JOIN trong MySQL.
- 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 *