SQL Sessions 1-7
SQL Sessions 1-7
1) create table role(id BIGINT(20),name varchar(255)NOT NULL
,primary key(id));
2) create table skill(id BIGINT(20),description varchar(255)
,name VARCHAR(255)NOT NULL,primary key(id));
3) create table post_type(id BIGINT(20),name varchar(255)NOT
NULL,primary key(id));
4) create table department(id BIGINT(20),name VARCHAR(255)NO
T NULL,primary key(id));
5) create table degree(id BIGINT(20),department_id BIGINT(20
)NOT NULL,name VARCHAR(255)NOT NULL, primary key (id),fore
ign key (department_id) references department (id));
6) create table profile(id BIGINT(20),address varchar(255)NO
T NULL,batch varchar(255)NOT NULL,degree_id BIGINT(20) NO
TNULL,designation VARCHAR(255),gender varchar(255)NOT NUL
L, primary key (id), foreign key (degree_id) referencesde
gree (id));
7) create table higher_degree(id BIGINT(20),degree_name VARC
HAR(255),university_name varchar(255),profile_id BIGINT(2
0)NOT NULL,primary key (id), foreign key (profile_id) refe
rences profile (id));
8) create table experience(id BIGINT(20),company_name VARCHA
R(255)NOT NULL,current BIT(1)NOT NULL,end DATETIME,start
DATETIME NOT NULL,profile_id BIGINT (20)NOT NULL,primary
key (id), foreign key (profile_id) references profile
(id));
9) create table project(id BIGINT(20),name VARCHAR(255)NOT NULL,number_of_mem
bers INT(11)NOT NULL,profile_id BIGINT(20)NOT NULL,short_description VAR
CHAR(255),primary key (id), foreign key (profile_id) references profile
(id));
10) create table profile_skills(skill_id BIGINT(20)
,profile_id BIGINT (20),primary key (skill_id,profile_id)
);
11) create table user(id BIGINT(20),emailid varchar(255)NOT N
ULL,name VARCHAR(255)NOT NULL,password varchar(255)NOTNU
LL,phonenumber varchar(255)NOT NULL,profile_id BIGINT (20
),role_id BIGINT(20)NOT NULL,username VARCHAR(255)NOTNUL
L,primary key (id), foreign key (role_id) references role
(id));
12) create table query(id BIGINT(20),content VARCHAR(255)NOT
NULL,date DATETIME NOT NULL,parent_id BIGINT (20),user_i
dBIGINT(20) NOT NULL,primary key (id), foreign key (user_i
d) references user(id));
13) create table event(id BIGINT(20),date DATETIME NOT NULL,description VARCHA
R(255),invitation VARCHAR(255) NOTNULL,name VARCHAR(255) NOT NULL,organis
er_id BIGINT(20) NOT NULL,primary key (id), foreign key (organiser_id)refe
rences user(id));
14) create table post(id BIGINT(20),content VARCHAR(255)NOT N
ULL ,date DATETIME NOT NULL,type_id BIGINT (20) NOTNULL,u
ser_id BIGINT(20)NOT NULL,primary key (id), foreign key (t
ype_id) references post_type
(id),foreign key(user_id) references user(id));
15) Use create role command same as 1st query
Then
alter table role add description VARCHAR(255);
16) alter table role modify column description VARCHAR(500)
17) alter table role drop column description;
18) rename table role to roles;
19) rename table roles to role;
20) create table department(id BIGINT(20),name VARCHAR(255)NOTNULL,primary key
(id));
alter table department add column user_id BIGINT(20) NOT N
ULL;
21 )create table user(id BIGINT(20),emailid varchar(255)NOT
NULL,name VARCHAR(255)NOT NULL,password varchar(255)NOT
NULL,phonenumber varchar(255)NOT NULL,profile_id BIGINT(20),ro
le_id BIGINT(20)NOT NULL,username VARCHAR(255)NOT
NULL,primary key (id), foreign key (role_id) references role
(id));
alter table department add( foreign key(user_id) references us
er(id));
22)alter table department drop column user_id;
23) rename table department to departments;
24 create table profile_skills(skill_id BIGINT(20) ,profile_id
BIGINT (20),primary key (skill_id,profile_id));
Drop table profile_skills;
25
create table post(id BIGINT(20),content VARCHAR(255)NOT NULL,d
ate DATETIME NOT NULL,type_id BIGINT (20) NOT NULL,user_id
BIGINT(20)NOT NULL,primary key (id), foreign key (type_id)refe
rences post_type (id),foreign key (user_id) references
user(id));
drop table post;
2nd Session-
1) insert into role (id,name) values ('102','abc'),
('103','xyz');
2) insert into skill
(id,description,name) values ('101','Programming','abc'),
('102','Testing','def');
3) insert into post_type (id,name) values ('1','a'),
('2','b');
4) insert into department (id,name) values ('1','a'),
('2','b');
5) insert into degree
(id,department_id,name) values ('1','1','a'),
('2','2','b');
6) insert into profile
(id,address,batch,degree_id,designation,gender) values ('1
','abc','first','1','a','m'),
('2','def','second','2','b','f');
7) insert into higher_degree
(id,degree_name,university_name,profile_id) values ('1','a
aa','abc','1'),('2','bbb','abc','2');
8) insert into experience
(id,company_name,current,end,start,profile_id) values ('1'
,'xxx',b'1','2015-04-20','2012-04-20','1'),
('2','yyy',b'1','2015-04-2015','2012-04-18','2');
9) insert into project(id,name,number_of_members,profile_id,
short_description) values ('1','aaa','100','1','abcd'),
('2','bbb','50','2','abcde');
10) insert into user (id,emailid,name,password,phonenumber,pr
ofile_id,role_id,username) values('1','[email protected]','a','a
','252536','1','102','a'),
('2','[email protected]','b','b','242542','2','103','b');
11) insert into query
(id,content,date,parent_id,user_id) values ('1','aaa','201
5-04-18','1','1'),('2','bbb','2015-04-18','2','2');
12) insert into event
(id,date,description,invitation,name,organiser_id) values
('1','2015-04-18','abcd','xx','a','1'),('2','2015-04-
18','abcde','yy','b','2');
13) insert into post
(id,content,date,type_id,user_id) values ('1','aa','2014-02-
15','1','1'),('2','bb','2015-03-15','2','2');
14) update role set name='Administrator' where name='Admin';
15) delete from role where name='Student';
16) update skill set name='CADCAM' where name='CAD';
18) update post_type set name='Technology' where name='Tech';
19) delete from post_type where name='Technology';
20) update profile set batch='1998' where batch='98';
21)
update query
set date=ADDDATE(date,interva
l
2
1 year) where year(date)=2012
;
22)
update query set date=date_add(date,interva
l 1 day)where date(date)='2013-01-31';
23) delete from query where year(date) <2012 ;
24) delete from experience where end is not null;
25) update event set date=ADDTIME(date,'03:00:00') where name='ALUMNI
MEET';
3rd Session-
1) select * from role order by name ASC ;
2) select * from skill order by name asc ;
3) select * from department order by name desc;
4) select * from post_type order by name desc;
5) select name from role order by name asc ;
6) select name, description from skill order by name;
7) select name from department order by name asc;
8) select name from post_type order by name asc;
9)
select distinct university_name from higher_degree order
by university_name asc
10)
select distinct designation from profile order bydesignat
ion asc;
11)
select distinct batch from profile where designation="pro
ject manager" order by batch asc;
12)
select distinct designation from profile where gender="Ma
le" order by designation asc;
13)
select designation from profile where gender='female' and
batch='2008' order by designation asc;
14)
select address from profile where gender='Male' and batch=
'2008' order by address;
15)
select distinct company_name from experience order by comp
any_name asc;
16)
select distinct company_name from experience where curren
t=1 order by company_name desc;
17) select name,phonenumber from user order by name desc;
18)
select name,emailid,phonenumber from user order by name as
c;
19) select username,password from user where name='Ram';
20)
select name,short_description from project where number_o
f_members >10 order by name asc;
21)
select name,description from event where date(date)='2014
-01-27' order by name asc;
22) select content from post order by date desc;
23) SELECT content FROM post WHERE date>'2014-01' ORDER BY date DESC;
24)SELECT content FROM query WHERE YEAR(date)='2013' ORDER BY date DESC;
25)SELECT name FROM event WHERE date='2014-01-27 15:00:00.0' ORDER BY name;
4TH Session –
1) select count(*) as 'role_count' from role;
2) select count(*) as 'skill_count' from skill;
3) select count(*) as user_count from user where profile_id is null;
4) select count(*) as 'alumni_2008_count' from profile where batch='2008';
5) select count(*) as 'alumni_male_2008_count' from profile
wheregender='male' and batch='2008';
6) select batch,count(*) as 'alumni_count'from profile group bybatch;
7) select batch,count(*) as 'male_alumni_count'from profile where gender='male' group by batch;
8) select batch,count(*) as 'female_alumni_count'from profile where gender='female' group by
batch;
9) select count(distinct(designation)) as designation_count from profile;
10) select count(designation) as PM_Count from profile where designation='Project Manager';
11) select Min(batch) as Senior_PM_Batch from profile where designation='Project Manager';
12) select Max(batch) as Junior_PM_Batch from profile where designation='Project Manager';
13) select designation,count(*) as designation_count from profile group by designation;
14) select count(*) as company_count from experience where current=1;
15) select company_name, count(*) as alumni_count from experience where current=1 group by
company_name;
16) select count(*) as project_count from project where number_of_members>10;
17) select count(*) as number_of_events from event where year(date)=2013;
18) SELECT count(*) as number_of_posts FROM post WHERE date>'
2014-01';
19) select count(*) as number_of_queries from query where time(date) between '01:00' and
'05:00';
20) select count(*) as number_of_events from event where
date(date)='2014-01-27' ;
21) select count(*) as number_of_posts from post where date(date)<'2013-12-01';
22) select count(*) as number_of_posts from post where date(date)>'2013-12-01';
23) select year(date),count(*) as number_of_events from event group by year(date) ;
24) select monthname(date) as month_name,count(*) as number_of_events from event where
year(date)='2013' group by month(date);
5th Session-
1)select abs(2)
2)select abs(-32) as absolute;
3)select ceiling(1.23) as int_value;
4)select ceil(-1.23) as int_value;
5)select conv('f',16,2) as base2;
6)select floor(1.23) as int_value;
7)select floor(-1.23) as int_value;
8)select round(1.298,1) as round_value;
9)select weekday('2014-03-01') as weekday_index;
10)select dayname('2014-03-01') as weekday_name;
6th Session-
1)select name,length(name) as 'length' from user group by name;
2)select name from user where length(name)=(select max(length(name)) from user)
order by name;
3)select name from user where length(password)<3 order by name;
4)select name,substring(name,1,2) as start_2_chars from user order by name;
5)select name,right(name,2) as last_2_chars from user order by name;
6)select lower(name) as lower_case from user order by name;
7)select upper(name) as upper_case from user order by name;
8)select lpad(name,30,'?') as modified_name from user order by name;
9)select rpad(name,30,'?') as modified_name from user order by name;
10)select name,trim(leading ' ' from name) as modified_name from user order by name;
11)select name,trim(trailing ' ' from name) as modified_name from user order by name;
12)select name,trim(both ' ' from name) as modified_name from user order by name;
13)select name from user where left(name,1)='a' and right(name,1)='a';
14)select name from user where name like '%_aa'order by name;
15)SELECT name FROM user WHERE name LIKE '%aa%' order by name;
16)select name from user where name like '%P____a%' order by name;
7th Session-
on role.id=user.role_id
on role.id=user.role_id
on user.role_id=role.id
4)select
user.phonenumber,user.emailid,profile.batch,department.name,profile.designation,experien
ce.company_name from user
join profile
on user.profile_id=profile.id
join degree
on profile.degree_id=degree.id
join department
on degree.department_id=department.id
join experience
on profile.id=experience.profile_id
join role
on user.role_id=role.id
join profile
on user.profile_id=profile.id
join profile_skills
on profile.id=profile_skills.profile_id
join skill
on profile_skills.skill_id=skill.id
where role.name='Alumni'
order by user.name,skill.name;
join role
on user.role_id=role.id
join profile
on user.profile_id=profile.id
join experience
on profile.id=experience.profile_id
where role.name='Alumni'
order by user.name,experience.company_name;
on user.role_id=role.id
on user.profile_id=profile.id
on profile.id=experience.profile_id
where role.name='Alumni'
order by user.name,experience.company_name;
join role
on user.role_id=role.id
join profile
on user.profile_id=profile.id
join experience
on profile.id=experience.profile_id
order by user.name
9)select user.name,experience.company_name from user
join role
on user.role_id=role.id
join profile
on user.profile_id=profile.id
join experience
on profile.id=experience.profile_id
order by user.name
join role
on user.role_id=role.id
join profile
on user.profile_id=profile.id
order by user.name
join role
on user.role_id=role.id
join profile
on user.profile_id=profile.id
where role.name='Alumni' and profile.batch='2008'
order by user.name
join role
on user.role_id=role.id
join profile
on user.profile_id=profile.id
join degree
on profile.degree_id=degree.id
order by user.name
join role
on user.role_id=role.id
join profile
on user.profile_id=profile.id
join degree
on profile.degree_id=degree.id
join department
on degree.department_id=department.id
order by user.name
14)select user.name,higher_degree.university_name from user
on user.role_id=role.id
on user.profile_id=profile.id
on profile.id=higher_degree.profile_id
group by user.name,higher_degree.university_name ;
on user.role_id=role.id
on user.profile_id=profile.id
on profile.id=higher_degree.profile_id
on profile.degree_id=degree.id
join department
on degree.department_id=department.id
group by user.name,higher_degree.university_name ;
16)select user.name,user.emailid,user.phonenumber,profile.address from user
join role
on user.role_id=role.id
join profile
on user.profile_id=profile.id
join degree
on profile.degree_id=degree.id
join department
on degree.department_id=department.id
on profile.id=higher_degree.profile_id
order by user.name
join role
on user.role_id=role.id
join profile
on user.profile_id=profile.id
order by user.name
on user.role_id=role.id
join profile
on user.profile_id=profile.id
join degree
on profile.degree_id=degree.id
order by user.name
join role
on user.role_id=role.id
join profile
on user.profile_id=profile.id
join degree
on profile.degree_id=degree.id
join department
on degree.department_id=department.id
order by user.name
on degree.department_id=department.id
order by degree.name;
join role
on user.role_id=role.id
join profile
on user.profile_id=profile.id
order by user.name
join role
on user.role_id=role.id
join profile
on user.profile_id=profile.id
join experience
on profile.id=experience.profile_id
order by user.name
on user.id=query.user_id
order by name,date(date);
on user.id=query.user_id
order by name,date(date);
on user.id=post.user_id
order by user.name,date(date);
on user.id=post.user_id
on post.type_id=post_type.id
where post_type.name='Technology'
order by user.name,post.date;
on user.id=post.user_id
where year(post.date)='2013'
order by user.name,post.date,post.content;
join role
on user.role_id=role.id
join profile
on user.profile_id=profile.id
join degree
on profile.degree_id=degree.id
join department
on degree.department_id=department.id
join profile_skills
on profile.id=profile_skills.profile_id
join skill
on profile_skills.skill_id=skill.id
where skill.name='Programming'
order by user.name
on user.id=event.organiser_id
order by user.name,event.date;
30)select user.name,event.name from user
on user.id=event.organiser_id
join role
on user.role_id=role.id
where role.name='Alumni'
order by user.name,event.date;