MARIADB
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Mệnh đề JOIN trong MariaDB

Trong thực tế, các hoạt động trên cơ sở dữ liệu thường phức tạp hơn nhiều so với việc chỉ truy vấn từ một bảng duy nhất. Nhiều trường hợp yêu cầu xử lý dữ liệu bằng cách kết hợp, so sánh hoặc lấy dữ liệu từ nhiều bảng khác nhau. Mệnh đề JOIN trong MariaDB cho phép kết hợp dữ liệu từ hai hoặc nhiều bảng thành một kết quả duy nhất, phục vụ các mục đích như tổng hợp, phân tích hoặc xử lý dữ liệu đa nguồn.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Mệnh đề JOIN được sử dụng trong các câu lệnh như SELECT, UPDATE, và DELETE.

Cú pháp cơ bản của JOIN trong MariaDB

SELECT column
FROM table_name1
INNER JOIN table_name2
ON table_name1.column = table_name2.column;

Lưu ý:

  • Cách viết cũ (old syntax) sử dụng cú pháp JOIN ngầm định với WHERE, nhưng việc sử dụng từ khóa INNER JOIN, LEFT JOIN, hoặc RIGHT JOIN được khuyến khích hơn vì tăng tính rõ ràng và dễ bảo trì cho mã lệnh.
  • Có nhiều loại JOIN như INNER JOIN, LEFT JOIN, RIGHT JOIN, mỗi loại phù hợp với các trường hợp khác nhau.

Ví dụ minh họa

Trên cửa sổ lệnh Command Prompt

Kết hợp dữ liệu từ hai bảng productsinventory để lấy thông tin sản phẩm cùng số lượng tồn kho:

Bài viết này được đăng tại [free tuts .net]

root@host# mysql -u root -p password;
Enter password:*******
mysql> use PRODUCTS;
Database changed;

mysql> SELECT products.ID_number, products.Nomenclature, inventory.inventory_ct
   FROM products
   INNER JOIN inventory
   ON products.ID_number = inventory.ID_number;
+-------------+----------------+-----------------+
| ID_number   | Nomenclature   | Inventory Count |
+-------------+----------------+-----------------+
| 12345       | Orbitron 4000  | 150             |
| 12346       | Orbitron 3000  | 200             |
| 12347       | Orbitron 1000  | 0               |
+-------------+----------------+-----------------+

Trong ví dụ này:

  • productsinventory được kết hợp qua cột ID_number.
  • Kết quả trả về chứa thông tin sản phẩm (ID, tên sản phẩm) và số lượng tồn kho tương ứng.

Sử dụng JOIN trong mã PHP trong MariaDB

Trong ứng dụng PHP, có thể sử dụng hàm mysql_query() để thực hiện câu lệnh JOIN. Ví dụ:

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);

   if(! $conn ) {
      die('Không thể kết nối: ' . mysql_error());
   }

   $sql = 'SELECT a.product_id, a.product_manufacturer, b.product_count   
      FROM products_tbl a, pcount_tbl b 
      WHERE a.product_manufacturer = b.product_manufacturer';

   mysql_select_db('PRODUCTS');
   $retval = mysql_query($sql, $conn);

   if(! $retval ) {
      die('Không thể lấy dữ liệu: ' . mysql_error());
   }

   while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
      echo "Nhà sản xuất: {$row['product_manufacturer']} <br> ".
           "Số lượng: {$row['product_count']} <br> ".
           "Mã sản phẩm: {$row['product_id']} <br> ".
           "--------------------------------<br>";
   }

   echo "Dữ liệu đã được truy xuất thành công\n";
   mysql_close($conn);
?>

Kết quả sau khi thực thi:

Sau khi kết hợp hai bảng, dữ liệu trả về bao gồm thông tin nhà sản xuất, số lượng và mã sản phẩm:

Mã sản phẩm: 12345
Tên sản phẩm: Orbitron 4000
Số lượng tồn kho: 150
--------------------------------
Mã sản phẩm: 12346
Tên sản phẩm: Orbitron 3000
Số lượng tồn kho: 200
--------------------------------
Mã sản phẩm: 12347
Tên sản phẩm: Orbitron 1000
Số lượng tồn kho: 0
--------------------------------
Dữ liệu đã được truy xuất thành công

Kết bài

Mệnh đề JOIN trong MariaDB là công cụ mạnh mẽ cho phép bạn làm việc với nhiều bảng, mang lại sự linh hoạt trong truy vấn dữ liệu phức tạp. Dù là INNER JOIN, LEFT JOIN, hay RIGHT JOIN, bạn có thể tận dụng để đáp ứng các yêu cầu truy xuất và xử lý dữ liệu đa chiều trong thực tế. Việc sử dụng cú pháp rõ ràng và tuân thủ các thực hành tốt sẽ giúp mã của bạn dễ đọc, bảo trì, và mở rộng.

Cùng chuyên mục:

Giao dịch (Transactions) trong MariaDB

Giao dịch (Transactions) trong MariaDB

Biểu thức chính quy (Regular Expression) trong MariaDB

Biểu thức chính quy (Regular Expression) trong MariaDB

Giá trị NULL trong MariaDB

Giá trị NULL trong MariaDB

Mệnh đề ORDER BY trong MariaDB

Mệnh đề ORDER BY trong MariaDB

Mệnh đề LIKE trong MariaDB

Mệnh đề LIKE trong MariaDB

Tìm hiểu lệnh DELETE trong MariaDB

Tìm hiểu lệnh DELETE trong MariaDB

Tìm hiểu câu lệnh UPDATE trong MariaDB

Tìm hiểu câu lệnh UPDATE trong MariaDB

Mệnh đề WHERE trong MariaDB

Mệnh đề WHERE trong MariaDB

Câu lệnh SELECT (Select Query) trong MariaDB

Câu lệnh SELECT (Select Query) trong MariaDB

Lệnh chèn dữ liệu (Insert Query) trong MariaDB

Lệnh chèn dữ liệu (Insert Query) trong MariaDB

Tìm hiểu xóa bảng trong MariaDB

Tìm hiểu xóa bảng trong MariaDB

Tạo bảng (Create Tables) trong MariaDB

Tạo bảng (Create Tables) trong MariaDB

Các loại dữ liệu (Data Types) trong MariaDB

Các loại dữ liệu (Data Types) trong MariaDB

Select Database trong MariaDB

Select Database trong MariaDB

Xóa cơ sở dữ liệu trong MariaDB

Xóa cơ sở dữ liệu trong MariaDB

Tạo cơ sở dữ liệu trong MariaDB

Tạo cơ sở dữ liệu trong MariaDB

Cách kết nối trong MariaDB

Cách kết nối trong MariaDB

Cú pháp PHP trong  MariaDB

Cú pháp PHP trong MariaDB

Hướng dẫn chi tiết quản trị MariaDB

Hướng dẫn chi tiết quản trị MariaDB

Hướng dẫn cài đặt MariaDB

Hướng dẫn cài đặt MariaDB

Top