You are on page 1of 5

d4.

sql
Who has access

System properties
Type
SQL
Size
7 KB
Storage used
7 KB
Location
MySQL
Owner
Geek n Tech Hindi
Modified
Apr 10, 2019 by Geek n Tech Hindi
Opened
12:20 AM by me
Created
Apr 10, 2019
No description
Viewers can download
create table employee
(
e_pid varchar(5) primary key,
person_name varchar(30),
street varchar(30),
city varchar(10)
);

insert into employee values('p101', 'shyam kumar', 'a/11', 'delhi');


insert into employee values('p102', 'rohan sharma', 'b block', 'delhi');
insert into employee values('p103', 'aniket singh', 'alpha i', 'ghaziabad');
insert into employee values('p104', 'vibha', 'beta ii', 'noida');
insert into employee values('p105', 'divya dutta', 'phase ii', 'noida');
insert into employee values('p106', 'priya', 'vasundhra', 'ghaziabad');

mysql> select * from employee;


+-------+--------------+-----------+-----------+
| e_pid | person_name | street | city |
+-------+--------------+-----------+-----------+
| p101 | shyam kumar | a/11 | delhi |
| p102 | rohan sharma | b block | delhi |
| p103 | aniket singh | alpha i | ghaziabad |
| p104 | vibha | beta ii | noida |
| p105 | divya dutta | phase ii | noida |
| p106 | priya | vasundhra | ghaziabad |
+-------+--------------+-----------+-----------+
6 rows in set (0.00 sec)
create table company
(
c_id varchar(5) primary key,
company_name varchar(30),
city varchar(10)
);

insert into company values('b1', 'samba bank', 'delhi');


insert into company values('b3', 'samba bank', 'noida');
insert into company values('b4', 'ncb bank', 'delhi');
insert into company values('b5', 'ncb bank', 'noida');
insert into company values('b6', 'icici bank', 'delhi');
insert into company values('b7', 'axis bank', 'madras');

mysql> select * from company;;


+------+--------------+--------+
| c_id | company_name | city |
+------+--------------+--------+
| b1 | samba bank | delhi |
| b3 | samba bank | noida |
| b4 | ncb bank | delhi |
| b5 | ncb bank | noida |
| b6 | icici bank | delhi |
| b7 | axis bank | madras |
+------+--------------+--------+
6 rows in set (0.00 sec)

create table works


(
w_pid varchar(5),
w_id varchar(5),
wp_name varchar(30),
wcompany_name varchar(30),
salary varchar(10),
primary key (w_pid, w_id),
foreign key (w_pid) references employee (e_pid),
foreign key (w_id) references company(c_id)
);

insert into works values('p101', 'b1','shyam kumar', 'samba bank', 15000);


insert into works values('p102', 'b3','rohan sharma', 'ncb bank', 22000);
insert into works values('p103', 'b5','aniket singh', 'icici bank', 10000);
insert into works values('p104', 'b2','vibha', 'samba bank', 8000);
insert into works values('p105', 'b4','divya dutta', 'ncb bank', 11000);
insert into works values('p106', 'b6','priya', 'axis bank', 7000);

mysql> select * from works;


+-------+------+--------------+---------------+--------+
| w_pid | w_id | wp_name | wcompany_name | salary |
+-------+------+--------------+---------------+--------+
| p101 | b1 | shyam kumar | samba bank | 15000 |
| p102 | b3 | rohan sharma | ncb bank | 22000 |
| p103 | b5 | aniket singh | icici bank | 10000 |
| p105 | b4 | divya dutta | ncb bank | 11000 |
| p106 | b6 | priya | axis bank | 7000 |
+-------+------+--------------+---------------+--------+
5 rows in set (0.00 sec)

create table manager


(
m_id varchar(5) primary key,
mp_name varchar(30),
m_name varchar(30),
foreign key (m_id) references employee(e_pid)
);

insert into manager values ('p101', 'vibha', 'shyam kumar');


insert into manager values ('p102', 'divya dutta', 'rohan sharma');
insert into manager values ('p103', 'aniket singh', 'aniket singh');

mysql> select * from manager;


+------+--------------+--------------+
| m_id | mp_name | m_name |
+------+--------------+--------------+
| p101 | vibha | shyam kumar |
| p102 | divya dutta | rohan sharma |
| p103 | aniket singh | aniket singh |
+------+--------------+--------------+
3 rows in set (0.00 sec)

b) alter tabler employee add(email varchar(20));

mysql> select * from employee;


+-------+--------------+-----------+-----------+-------+
| e_pid | person_name | street | city | email |
+-------+--------------+-----------+-----------+-------+
| p101 | shyam kumar | a/11 | delhi | NULL |
| p102 | rohan sharma | b block | delhi | NULL |
| p103 | aniket singh | alpha i | ghaziabad | NULL |
| p104 | vibha | beta ii | noida | NULL |
| p105 | divya dutta | phase ii | noida | NULL |
| p106 | priya | vasundhra | ghaziabad | NULL |
+-------+--------------+-----------+-----------+-------+
6 rows in set (0.00 sec)

c)
select m_name from manager, works where manager.m_id=works.w_pid and
(works.wcompany_name = 'samba bank' or works.wcompany_name='ncb bank');

+--------------+
| m_name |
+--------------+
| shyam kumar |
| rohan sharma |
+--------------+
2 rows in set (0.03 sec)

d) select person_name, street, city, salary from employee, works where employee.e_pid
=works.w_pid
and (works.salary >'100000' AND works.wcompany_name='samba bank');

+-------------+--------+-------+--------+
| person_name | street | city | salary |
+-------------+--------+-------+--------+
| shyam kumar | a/11 | delhi | 15000 |
+-------------+--------+-------+--------+
1 row in set (0.00 sec)

e) select distinct person_name from employee, company where employee.city=company.city;

+--------------+
| person_name |
+--------------+
| shyam kumar |
| rohan sharma |
| vibha |
| divya dutta |
+--------------+
4 rows in set (0.00 sec)

f) select wcompany_name, max(salary), min(salary) from works group by wcompany_name;


+---------------+-------------+-------------+
| wcompany_name | max(salary) | min(salary) |
+---------------+-------------+-------------+
| axis bank | 7000 | 7000 |
| icici bank | 10000 | 10000 |
| ncb bank | 22000 | 11000 |
| samba bank | 15000 | 15000 |
+---------------+-------------+-------------+
4 rows in set (0.03 sec)

g) select sum(salary), count(w_pid) from works group by wcompany_name;

+-------------+--------------+
| sum(salary) | count(w_pid) |
+-------------+--------------+
| 7000 | 1|
| 10000 | 1|
| 33000 | 2|
| 15000 | 1|
+-------------+--------------+
4 rows in set (0.03 sec)

h) select wcompany_name from works where salary = (select max(salary) from works);

+---------------+
| wcompany_name |
+---------------+
| axis bank |
+---------------+
1 row in set (0.03 sec)

You might also like