Home > front end >  how to get only values from single table
how to get only values from single table

Time:09-21

I have only single table as shown below

id name product
1 sai m
2 sai EBB
3 sri m
4 ram m
5 sita EBB
6 siva EBB

please help me to write a SQL query to show only m , only ebb and both . only m

id name product
3 sri m
4 ram m

only ebb

id name product
5 sita EBB
6 siva EBB

intersect or both

id name product
1 sai m
2 sai EBB

i have tried using not except, joins but nothing worked for me.Please help me .

CodePudding user response:

Use subquery as follows

mysql> select * from tbl where name in (select name from tbl where product = 'm') and name not in (select name from tbl where product = 'EBB');
 ---- ------ --------- 
| id | name | product |
 ---- ------ --------- 
|  3 | sri  | m       |
|  4 | ram  | m       |
 ---- ------ --------- 
2 rows in set (0.01 sec)

mysql> select * from tbl where name not in (select name from tbl where product = 'm') and name in (select name from tbl where product = 'EBB');
 ---- ------ --------- 
| id | name | product |
 ---- ------ --------- 
|  5 | sita | EBB     |
|  6 | siva | EBB     |
 ---- ------ --------- 
2 rows in set (0.01 sec)

mysql> select * from tbl where name in (select name from tbl where product = 'm') and name in (select name from tbl where product = 'EBB');
 ---- ------ --------- 
| id | name | product |
 ---- ------ --------- 
|  1 | sai  | m       |
|  2 | sai  | EBB     |
 ---- ------ --------- 
2 rows in set (0.00 sec)
  • Related