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 trong MySQL

Toán tử UNION 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à 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 trong MySQL

Toán tử UNION trong MySQL

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

Toán tử UNION 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à 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 trong MySQL

Toán tử UNION 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 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: Đà Nẳng
--------------------------------

Toán tử UNION 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 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: Long Phụng
Tỉnh/Thành: Quảng Ngãi
--------------------------------
Xã/Phường: Đông Dương
Tỉnh/Thành: Đà Nẳng
--------------------------------

Toán tử UNION 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 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 phân bảng trong MySQL

Ở đây mình 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,xaphuong,tinhthanh from tb_daily UNION select 'Khách hàng' AS tenbang,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> ".
		 "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ý
Xã/Phường: Tân Vĩnh Lộc
Tỉnh/Thành: Hồ Chí Minh
--------------------------------
Tên Bảng: Đại lý
Xã/Phường: Mỏ Cày
Tỉnh/Thành: Quảng Ngãi
--------------------------------
Tên Bảng: Đại lý
Xã/Phường: Long Phụng
Tỉnh/Thành: Quảng Ngãi
--------------------------------
Tên Bảng: Khách hàng
Xã/Phường: Đông Dương
Tỉnh/Thành: Đà Nẳng
--------------------------------
Tên Bảng: Khách hàng
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 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 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