Disclaimer: This presentation is prepared by trainees of
baabtra as a part of mentoring program. This is not official
document of baabtra –Mentoring Partner
Baabtra-Mentoring Partner is the mentoring division of baabte System Technologies Pvt .
Ltd
Union and Intersection
Zabeeb anwar
zabeebanwar@gmail.com
www.fb.com/zabeebanwar
twitter.com/zabeebanwar
in/linkedin.com/in/zabeeb
9895599689
union
AUB
- AUB(OR) means the union of sets A and B
contains all of the elements of both A and B.
Intersection
AÇB(AND) means the intersection of sets A
and B. This contains all of the elements which
are in both A and B.
Union and Intersection with empty
Union and Intersection in Psql
Union
- A hot startup is holding a special event and
wants to send out invites for my marriage()
to some of my best clients and also to some
VIPs.
- Some of the VIPs are actually very supportive
of the site and are clients too.
- What query will provide the complete set of
people to invite avoiding duplicate records?
- Here is our data.
Union
• create database hotstartup;
• create table clients(name varchar);
insert into clients values(‘Sharan');
insert into clients values(‘Vineesh');
insert into clients values(‘Bala');
insert into clients values(‘Sheethal');
• create table vips(name varchar);
insert into vips values(‘Reshmi');
insert into vips values(‘Sheethal');
insert into vips values(‘Anupa');
insert into vips values(‘Ashwathy');
Union
• hotstartup=# select * from clients union select *
from vips;
name
----------------
Sharan
Vineesh
Bala
Sheethal
Reshmi
Anupa
Ashwathy
(7 rows)
Union All
• hotstartup=# select * from clients union all select * from vips;
name
----------------
Sharan
Vineesh
Bala
Sheethal
Reshmi
sheethal
Anupa
Ashwathy
(8 rows)
Intersect
• if I want to get the list of people who are both
clients and VIP we can use INTERSECT.
• hotstartup=# select * from
clients intersect select * from vips;
name
----------------
Sheethal
(1 row)
Intersect All
• Let's insert a Sheethal(duplicate name) into VIP’s.
name
----------------
Sharan
Vineesh
Bala
Sheethal
Sheethal
(4 rows)
-select * from client intersect all select * from vips;
Intersect All
name
----------------
sheethal
sheethal
(2 rows)
- Sheethal appears in both tables twice so we
find two matching pairs for her and hence two
rows appears in the results.
Except
• I want everyone on the clients list EXCEPT those on
the VIP list.
• select * from clients except select * from vips;
name
----------------
Sharan
Vineesh
Bala
Except All
• Let's insert a Sheethal(duplicate name) into clients.
name
----------------
Sharan
Vineesh
Bala
Sheethal
Sheethal
(4 rows)
-select * from clients except all select * from vips;
Except All
name
----------------
Sharan
Vineesh
Bala
Sheethal
(4 rows)
Where Clause
• select * from Clients_Year;
name | Birth year
------------------+------
Sharan | 1976
Vineesh | 1977
Bala | 1978
Ashwathy | 1983
Reshmi | 199 3
sheethal | 1996
Anupa | 1997
Where Clause
• select * from clients_year where year
between 1970 and 1979 union select * from
ceos where year=1977;
name | Birth year
------------------+------
Sharan | 1976
Vineesh | 1977
Bala | 1978
Do not
• select * from clients where year between
1970 and 1979 union select name from clients
where year=1977;
ERROR: each UNION query must have the
same number of columns
Union and intersection in Python
Example
>>>engineers = Set(['John', 'Jane', 'Jack',
'Janice'])
>>>programmers = Set(['Jack', 'Sam', 'Susan',
'Janice'])
>>>managers = Set(['Jane', 'Jack', 'Susan',
'Zack'])
Union
>>>employees = engineers | programmers |
managers
>>>print “employees”
Set(['Jane', 'Janice', 'John’,
'Jack’,’susan’,’Zack’,’sam’])
Intersection
>>>engineers = Set(['John', 'Jane', 'Jack',
'Janice'])
>>>managers = Set(['Jane', 'Jack', 'Susan',
'Zack'])
>>>engineering_management = engineers &
managers
>>>print “engineering_management”
Set(['Jane', 'Jack’])
Questions
If this presentation helped you, please visit our
page facebook.com/baabtra and like it.
Thanks in advance.
www.baabtra.com | www.massbaab.com |www.baabte.com
Contact Us

Union and intersection

  • 2.
    Disclaimer: This presentationis prepared by trainees of baabtra as a part of mentoring program. This is not official document of baabtra –Mentoring Partner Baabtra-Mentoring Partner is the mentoring division of baabte System Technologies Pvt . Ltd
  • 3.
    Union and Intersection Zabeebanwar zabeebanwar@gmail.com www.fb.com/zabeebanwar twitter.com/zabeebanwar in/linkedin.com/in/zabeeb 9895599689
  • 4.
    union AUB - AUB(OR) meansthe union of sets A and B contains all of the elements of both A and B.
  • 5.
    Intersection AÇB(AND) means theintersection of sets A and B. This contains all of the elements which are in both A and B.
  • 6.
  • 7.
  • 8.
    Union - A hotstartup is holding a special event and wants to send out invites for my marriage() to some of my best clients and also to some VIPs. - Some of the VIPs are actually very supportive of the site and are clients too. - What query will provide the complete set of people to invite avoiding duplicate records? - Here is our data.
  • 9.
    Union • create databasehotstartup; • create table clients(name varchar); insert into clients values(‘Sharan'); insert into clients values(‘Vineesh'); insert into clients values(‘Bala'); insert into clients values(‘Sheethal'); • create table vips(name varchar); insert into vips values(‘Reshmi'); insert into vips values(‘Sheethal'); insert into vips values(‘Anupa'); insert into vips values(‘Ashwathy');
  • 10.
    Union • hotstartup=# select* from clients union select * from vips; name ---------------- Sharan Vineesh Bala Sheethal Reshmi Anupa Ashwathy (7 rows)
  • 11.
    Union All • hotstartup=#select * from clients union all select * from vips; name ---------------- Sharan Vineesh Bala Sheethal Reshmi sheethal Anupa Ashwathy (8 rows)
  • 12.
    Intersect • if Iwant to get the list of people who are both clients and VIP we can use INTERSECT. • hotstartup=# select * from clients intersect select * from vips; name ---------------- Sheethal (1 row)
  • 13.
    Intersect All • Let'sinsert a Sheethal(duplicate name) into VIP’s. name ---------------- Sharan Vineesh Bala Sheethal Sheethal (4 rows) -select * from client intersect all select * from vips;
  • 14.
    Intersect All name ---------------- sheethal sheethal (2 rows) -Sheethal appears in both tables twice so we find two matching pairs for her and hence two rows appears in the results.
  • 15.
    Except • I wanteveryone on the clients list EXCEPT those on the VIP list. • select * from clients except select * from vips; name ---------------- Sharan Vineesh Bala
  • 16.
    Except All • Let'sinsert a Sheethal(duplicate name) into clients. name ---------------- Sharan Vineesh Bala Sheethal Sheethal (4 rows) -select * from clients except all select * from vips;
  • 17.
  • 18.
    Where Clause • select* from Clients_Year; name | Birth year ------------------+------ Sharan | 1976 Vineesh | 1977 Bala | 1978 Ashwathy | 1983 Reshmi | 199 3 sheethal | 1996 Anupa | 1997
  • 19.
    Where Clause • select* from clients_year where year between 1970 and 1979 union select * from ceos where year=1977; name | Birth year ------------------+------ Sharan | 1976 Vineesh | 1977 Bala | 1978
  • 20.
    Do not • select* from clients where year between 1970 and 1979 union select name from clients where year=1977; ERROR: each UNION query must have the same number of columns
  • 21.
  • 22.
    Example >>>engineers = Set(['John','Jane', 'Jack', 'Janice']) >>>programmers = Set(['Jack', 'Sam', 'Susan', 'Janice']) >>>managers = Set(['Jane', 'Jack', 'Susan', 'Zack'])
  • 23.
    Union >>>employees = engineers| programmers | managers >>>print “employees” Set(['Jane', 'Janice', 'John’, 'Jack’,’susan’,’Zack’,’sam’])
  • 24.
    Intersection >>>engineers = Set(['John','Jane', 'Jack', 'Janice']) >>>managers = Set(['Jane', 'Jack', 'Susan', 'Zack']) >>>engineering_management = engineers & managers >>>print “engineering_management” Set(['Jane', 'Jack’])
  • 25.
  • 27.
    If this presentationhelped you, please visit our page facebook.com/baabtra and like it. Thanks in advance. www.baabtra.com | www.massbaab.com |www.baabte.com
  • 28.