Union ALL in MySQL
MySQL Union ALL operation is used to combine two or more result sets. Before you use UNION ALL operator in MySQL or MariaDB, you need to remember couple of things.
UNION ALL will return Duplicate records if result sets have same records.
- When you combine two or more result sets, all the result sets should have the same number of columns.
- The data type of the columns of each result set should be compatible or same like other results set columns.
Syntax :
Union ALL in MySQL syntax
Select Column1,Column2,Column2 from TableOne
UNION ALL
Select Column1,Column2,Column3 from TableTwo
UNION ALL
Select Column1,Column2,Column2 from TableThree
Example :
Let's create couple of tables by using below scripts and then we use Union ALL operator.
CREATE TABLE `customer` (
`idcustomer` int,
`firstname` varchar(50) NULL,
`lastname` varchar(30) NULL,
`age` int(11) DEFAULT NULL,
`phonenumber` char(11) DEFAULT NULL,
`dob` date DEFAULT NULL,
`gender` char(1) NOT NULL
) ;
insert into customer(idcustomer,firstname,lastname,age,phonenumber,dob,gender)
values
(1,'Raza','Ali',39,'505-4141969','1980-01-01','M'),
(2,'Aamir','Naz',39,'505-4141969','1980-01-01','M'),
(3,'Aamir','Shahzad',39,'505-4141900','1980-01-01','M'),
(4,'Aamir1','Shahzad',39,'505-4141900','1980-01-01','M'),
(5,'Robert','Ladson',69,'505-345900','1960-01-01','M');
create table customer4.
CREATE TABLE `customer4` (
`idcustomer` int,
`firstname` char(50) NULL,
`lastname` Nchar(30) NULL,
`age` int(3) DEFAULT NULL,
`phonenumber` char(11) DEFAULT NULL,
`dob` date DEFAULT NULL,
`gender` char(1) NOT NULL
) ;
insert into customer4(idcustomer,firstname,lastname,age,phonenumber,dob,gender)
values
(1,'Raza','Ali',39,'505-4141969','1980-01-01','M'),
(5,'Aamir','Naz',39,'505-4141969','1980-01-01','M')
Let UNION ALL combine the rows or customer and customer4 table.
select * from customer
UNION ALL
Select * from customer4;
CREATE TABLE `customer4` (
`idcustomer` int,
`firstname` char(50) NULL,
`lastname` Nchar(30) NULL,
`age` int(3) DEFAULT NULL,
`phonenumber` char(11) DEFAULT NULL,
`dob` date DEFAULT NULL,
`gender` char(1) NOT NULL
) ;
insert into customer4(idcustomer,firstname,lastname,age,phonenumber,dob,gender)
values
(1,'Raza','Ali',39,'505-4141969','1980-01-01','M'),
(5,'Aamir','Naz',39,'505-4141969','1980-01-01','M')
Let UNION ALL combine the rows or customer and customer4 table.
select * from customer
UNION ALL
Select * from customer4;
MySQL Union ALL operator
Notice that in customer and customer4 some of the columns have different data types but it worked in UNION ALL as the data types are compatible. Also duplicate records are returned as UNION ALL returns all records from each result set and does not remove duplicate.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.