Công ty thiết kế website chuẩn SEO Web Mới
Tìm kiếm
Công ty thiết kế website chuẩn SEO Web Mới

Toán tử UNION ALL trong MySQL

Toán tử UNION ALL trong MySQL dùng để nối 2 hoặc nhiều câu lệnh select sau đó lấy các cột giống nhau của các bảng và không loại bỏ các hàng trùng lặp, chi tiết như nào hãy cùng chúng tôi phân tích:

Toán tử UNION ALL trong MySQL

Toán tử UNION ALL trong MySQL

Chức năng của Toán tử UNION ALL trong MySQL

Toán tử UNION ALL trong MySQL dùng để nối 2 hoặc nhiều câu lệnh select sau đó lấy các cột giống nhau của các bảng và không loại bỏ các hàng trùng lặp, các cột khi select phải có thứ tự giống nhau và kiểu dữ liệu cũng giống nhau, các số lượng cột của các câu lệnh select phải giống nhau.

Code Toán tử UNION ALL trong MySQL

Toán tử UNION ALL một cột trong MySQL

<?php
   $dbhost = 'localhost';
   $dbuser = 'webmoi_userdata'; // Tên username
   $dbpass = 'IhNRcn9n'; // 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());
   }
   // Truy vấn bảng
   $sql = "select tinhthanh from tb_daily UNION ALL select tinhthanh from tb_khachhang";
   // Chọn tên database
   mysql_select_db('webmoi_tendata');
   // Xét kiểu tiếng việt 
   mysql_query('SET NAMES "utf8"');
   // Kết quả truy vấn trả về mảng
   $ketqua = mysql_query($sql,$conn);
   if(!$ketqua){
	  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($ketqua, MYSQL_ASSOC)){
		 echo "Tỉnh/Thành: {$row['tinhthanh']} <br> ".
         
         "--------------------------------<br>";
   }		 
   // Đóng kết nối database
   mysql_close($conn);
?>

Kết quả:

Tỉnh/Thành: Hồ Chí Minh
--------------------------------
Tỉnh/Thành: Quảng Ngãi
--------------------------------
Tỉnh/Thành: Quảng Ngãi
--------------------------------
Tỉnh/Thành: Quảng Ngãi
--------------------------------
Tỉnh/Thành: Quảng Ngãi
--------------------------------
Tỉnh/Thành: Đà Nẳng
--------------------------------
Tỉnh/Thành: Quảng Ngãi
--------------------------------

Toán tử UNION ALL hai cột trong MySQL

<?php
   $dbhost = 'localhost';
   $dbuser = 'webmoi_userdata'; // Tên username
   $dbpass = 'IhNRcn9n'; // 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());
   }
   // Truy vấn bảng
   $sql = "select xaphuong,tinhthanh from tb_daily UNION ALL select xaphuong,tinhthanh from tb_khachhang";
   // Chọn tên database
   mysql_select_db('webmoi_tendata');
   // Xét kiểu tiếng việt 
   mysql_query('SET NAMES "utf8"');
   // Kết quả truy vấn trả về mảng
   $ketqua = mysql_query($sql,$conn);
   if(!$ketqua){
	  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($ketqua, MYSQL_ASSOC)){
		 echo "Xã/Phường: {$row['xaphuong']} <br> ".
		 "Tỉnh/Thành: {$row['tinhthanh']} <br> ".
         "--------------------------------<br>";
   }		 
   // Đóng kết nối database
   mysql_close($conn);
?>

Kết quả:

Xã/Phường: Tân Vĩnh Lộc
Tỉnh/Thành: Hồ Chí Minh
--------------------------------
Xã/Phường: Mỏ Cày
Tỉnh/Thành: Quảng Ngãi
--------------------------------
Xã/Phường: Mỏ Cày
Tỉnh/Thành: Quảng Ngãi
--------------------------------
Xã/Phường: Long Phụng
Tỉnh/Thành: Quảng Ngãi
--------------------------------
Xã/Phường: Long Phụng
Tỉnh/Thành: Quảng Ngãi
--------------------------------
Xã/Phường: Đông Dương
Tỉnh/Thành: Đà Nẳng
--------------------------------
Xã/Phường: Mỏ Cày
Tỉnh/Thành: Quảng Ngãi
--------------------------------

Toán tử UNION ALL ba cột trong MySQL

<?php
   $dbhost = 'localhost';
   $dbuser = 'webmoi_userdata'; // Tên username
   $dbpass = 'IhNRcn9n'; // 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());
   }
   // Truy vấn bảng
   $sql = "select ten,xaphuong,tinhthanh from tb_daily UNION ALL select ten,xaphuong,tinhthanh from tb_khachhang";
   // Chọn tên database
   mysql_select_db('webmoi_tendata');
   // Xét kiểu tiếng việt 
   mysql_query('SET NAMES "utf8"');
   // Kết quả truy vấn trả về mảng
   $ketqua = mysql_query($sql,$conn);
   if(!$ketqua){
	  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($ketqua, MYSQL_ASSOC)){
		 echo "Tên: {$row['ten']} <br> ".
		 "Xã/Phường: {$row['xaphuong']} <br> ".
		 "Tỉnh/Thành: {$row['tinhthanh']} <br> ".
         "--------------------------------<br>";
   }		 
   // Đóng kết nối database
   mysql_close($conn);
?>

Kết quả:

Tên: Bùi Tấn Lực
Xã/Phường: Tân Vĩnh Lộc
Tỉnh/Thành: Hồ Chí Minh
--------------------------------
Tên: Trần Thị Vân
Xã/Phường: Mỏ Cày
Tỉnh/Thành: Quảng Ngãi
--------------------------------
Tên: Nguyễn Thùy Dung
Xã/Phường: Mỏ Cày
Tỉnh/Thành: Quảng Ngãi
--------------------------------
Tên: Bùi Thị Nhím
Xã/Phường: Long Phụng
Tỉnh/Thành: Quảng Ngãi
--------------------------------
Tên: Nguyễn Thị Cherry
Xã/Phường: Long Phụng
Tỉnh/Thành: Quảng Ngãi
--------------------------------
Tên: Bùi Đan Trúc Quỳnh
Xã/Phường: Đông Dương
Tỉnh/Thành: Đà Nẳng
--------------------------------
Tên: Nguyễn Thảo Nhật Hạ
Xã/Phường: Mỏ Cày
Tỉnh/Thành: Quảng Ngãi
--------------------------------

Toán tử UNION ALL phân bảng trong MySQL

Ở đây mình dùng AS để đặt tên cứng cho cột lấy ra, tên cứng đó sẽ theo từng hàng của mỗi bảng:

<?php
   $dbhost = 'localhost';
   $dbuser = 'webmoi_userdata'; // Tên username
   $dbpass = 'IhNRcn9n'; // 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());
   }
   // Truy vấn bảng
   $sql = "select 'Đại lý' AS tenbang,ten,xaphuong,tinhthanh from tb_daily UNION ALL select 'Khách hàng' AS tenbang,ten,xaphuong,tinhthanh from tb_khachhang";
   // Chọn tên database
   mysql_select_db('webmoi_tendata');
   // Xét kiểu tiếng việt 
   mysql_query('SET NAMES "utf8"');
   // Kết quả truy vấn trả về mảng
   $ketqua = mysql_query($sql,$conn);
   if(!$ketqua){
	  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($ketqua, MYSQL_ASSOC)){
		 echo "Tên Bảng: {$row['tenbang']} <br> ".
		 "Tên: {$row['ten']} <br> ".
		 "Xã/Phường: {$row['xaphuong']} <br> ".
		 "Tỉnh/Thành: {$row['tinhthanh']} <br> ".
         "--------------------------------<br>";
   }		 
   // Đóng kết nối database
   mysql_close($conn);
?>

Kết quả:

Tên Bảng: Đại lý
Tên: Bùi Tấn Lực
Xã/Phường: Tân Vĩnh Lộc
Tỉnh/Thành: Hồ Chí Minh
--------------------------------
Tên Bảng: Đại lý
Tên: Trần Thị Vân
Xã/Phường: Mỏ Cày
Tỉnh/Thành: Quảng Ngãi
--------------------------------
Tên Bảng: Đại lý
Tên: Nguyễn Thùy Dung
Xã/Phường: Mỏ Cày
Tỉnh/Thành: Quảng Ngãi
--------------------------------
Tên Bảng: Đại lý
Tên: Bùi Thị Nhím
Xã/Phường: Long Phụng
Tỉnh/Thành: Quảng Ngãi
--------------------------------
Tên Bảng: Đại lý
Tên: Nguyễn Thị Cherry
Xã/Phường: Long Phụng
Tỉnh/Thành: Quảng Ngãi
--------------------------------
Tên Bảng: Khách hàng
Tên: Bùi Đan Trúc Quỳnh
Xã/Phường: Đông Dương
Tỉnh/Thành: Đà Nẳng
--------------------------------
Tên Bảng: Khách hàng
Tên: Nguyễn Thảo Nhật Hạ
Xã/Phường: Mỏ Cày
Tỉnh/Thành: Quảng Ngãi
--------------------------------

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Toán tử UNION ALL 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
CEO Bùi Tấn Lực
Bùi Tấn Lực
CEO Bùi Tấn Lực người sáng lập ra Web Mới, là một lập trình viên website, người viết content, chuyên tư vấn các vấn đề về website và SEO website
  • Zalo
Chia sẻ nội dung đánh giá của bạn về Toán tử UNION ALL trong MySQL
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 *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Đăng ký tư vấn miễn phí
Tìm hiểu 1 năm không bằng lắng nghe 1 câu tư vấn
Kiến thức PHP
Kiến thức JavaScript
Kiến thức về website
Kiến thức SEO website
0398.259.259