Liên kết bảng trong MySQL (P.1)
Trong quá trình thao tác với cơ sở dữ liệu khi hoc PHP, đôi khi chúng ta gặp phải trường hợp muốn lấy dữ liệu từ nhiều bảng có chung một tiêu chí. Khi đó chúng ta sẽ sử dụng cú pháp liên kết bảng trong MySQL để liên kết những bảng đó theo cùng một tiêu chí mà ta đặt ra.
Phần 1: Liên kết bảng trong MySQL sử dụng câu lệnh mysql.
Để liên kết các bảng trong cơ sở dữ liệu ta sử dụng câu lệnh INNER JOIN.
Cú pháp
SELECT trường_dữ_liệu_1, trường_dữ_liệu_2,... FROM bảng_1 INNER JOIN bảng_2 ON tiêu_chí
Trong đó:
Để hiểu rõ hơn về liên kết trong MySQL chúng ta sẽ đi làm một ví dụ cụ thể như sau:
Ví dụ:
Bước 1: Tạo 2 bảng có tên là khach_hang và don_hang. Quá trình tạo bảng các bạn có thể tham khảo phần tạo bảng trong MySQL
Với bảng khach_hang bao gồm các trường dữ liệu:
Với bảng don_hang bao gồm các trường dữ liệu:
Bước 2: Lấy tất cả thông tin trong 2 bảng trên của cùng một khách hàng.
Phần 1: Liên kết bảng trong MySQL sử dụng câu lệnh mysql.
Để liên kết các bảng trong cơ sở dữ liệu ta sử dụng câu lệnh INNER JOIN.
Cú pháp
SELECT trường_dữ_liệu_1, trường_dữ_liệu_2,... FROM bảng_1 INNER JOIN bảng_2 ON tiêu_chí
Trong đó:
- bảng_1: là bảng liên kết.
- bảng_2: là bảng bị liên kết.
- trường_dữ_liệu: là các trường dữ liệu muốn lấy.
- tiêu_chí: là tiêu chí chung để liên kết 2 bảng.
Để hiểu rõ hơn về liên kết trong MySQL chúng ta sẽ đi làm một ví dụ cụ thể như sau:
Ví dụ:
Bước 1: Tạo 2 bảng có tên là khach_hang và don_hang. Quá trình tạo bảng các bạn có thể tham khảo phần tạo bảng trong MySQL
Với bảng khach_hang bao gồm các trường dữ liệu:
idCustomer
Name
Phone
Với bảng don_hang bao gồm các trường dữ liệu:
id* Lưu ý : Các bạn tùy ý thêm dữ liệu vào bảng để thực hiện kiểm tra bằng bước 2.
idCustomer
Products
ADDR
Bước 2: Lấy tất cả thông tin trong 2 bảng trên của cùng một khách hàng.
<?phpXem tiếp: Liên kết bảng trong MySQL bằng MySQLi (P.2)
$host = 'localhost';
$user = 'root';
$pass = '';
$dbName = 'mydb';
$conn = mysql_connect($host, $user, $pass);
mysql_select_db($dbName);
$sql = "SELECT * FROM khach_hang INNER JOIN don_hang ON khach_hang.idCustomer = don_hang.idCustomer";
$query = mysql_query($sql);
if(mysql_num_rows($query) > 0){
while($row = mysql_fetch_array($query)){
echo $row['idCustomer']."<br />".
$row['name']."<br />".
$row['phone']."<br />".
$row['products']."<br />" .
$row['addr']."<br />"
;
}
}else{
echo "Không có thông tin của khách hàng!";
}
mysql_close($conn);
?>
Comments
Post a Comment