0% found this document useful (0 votes)
86 views

SQL Sessions 1-7

The document contains SQL statements to create database tables, alter tables, insert data, update and delete rows, and perform queries. It creates tables for roles, skills, departments, profiles and other data, then inserts sample data. A series of select statements are used to query and aggregate data from the tables.

Uploaded by

Akshay
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
86 views

SQL Sessions 1-7

The document contains SQL statements to create database tables, alter tables, insert data, update and delete rows, and perform queries. It creates tables for roles, skills, departments, profiles and other data, then inserts sample data. A series of select statements are used to query and aggregate data from the tables.

Uploaded by

Akshay
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 20

Ist Session-

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';

17) delete from skill where name='Web Design';

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-

1) select role.*,user.* from role

Inner join user

on role.id=user.role_id

order by role.name asc, user.name asc;

2)select role.*,user.* from role

left join user

on role.id=user.role_id

order by role.name asc, user.name asc;

3)select user.name,role.name from user

inner join role

on user.role_id=role.id

order by user.name asc;

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

where user.name='Ram' and experience.current=1;

5)select user.name,skill.name from user

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;

6)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

where role.name='Alumni'

order by user.name,experience.company_name;

7)select user.name,experience.company_name from user

left join role

on user.role_id=role.id

left join profile

on user.profile_id=profile.id

left join experience

on profile.id=experience.profile_id

where role.name='Alumni'

order by user.name,experience.company_name;

8)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

where role.name='Alumni' and experience.current=1

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

where role.name='Alumni' and experience.current=1 and profile.batch='2008'

order by user.name

10)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

where role.name='Alumni' and user.profile_id is not null

order by user.name

11)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
where role.name='Alumni' and profile.batch='2008'

order by user.name

12)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

where role.name='Alumni' and degree.name='BSC_CT'

order by user.name

13)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

where role.name='Alumni' and department.name='CSE'

order by user.name
14)select user.name,higher_degree.university_name from user

inner join role

on user.role_id=role.id

inner join profile

on user.profile_id=profile.id

inner join higher_degree

on profile.id=higher_degree.profile_id

where role.name='Alumni' and higher_degree.degree_name is not null

group by user.name,higher_degree.university_name ;

15)select user.name,higher_degree.university_name from user

inner join role

on user.role_id=role.id

inner join profile

on user.profile_id=profile.id

inner join higher_degree

on profile.id=higher_degree.profile_id

inner join degree

on profile.degree_id=degree.id

join department

on degree.department_id=department.id

where role.name='Alumni' and department.name='CSE' and higher_degree.degree_name is


not null

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

inner join higher_degree

on profile.id=higher_degree.profile_id

where role.name='Alumni' and higher_degree.university_name='Texas University'

order by user.name

17)select user.name,profile.batch from user

join role

on user.role_id=role.id

join profile

on user.profile_id=profile.id

where role.name='Alumni' and profile.gender='female'

order by user.name

18)select user.name,profile.batch,degree.name 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

where role.name='Alumni' and profile.gender='female'

order by user.name

19)select user.name,profile.batch,degree.name,department.name 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

where role.name='Alumni' and profile.gender='female'

order by user.name

20)select degree.name,department.name from degree

inner join department

on degree.department_id=department.id
order by degree.name;

21)select user.name,profile.designation from user

join role

on user.role_id=role.id

join profile

on user.profile_id=profile.id

where role.name='Alumni' and profile.gender='male'

order by user.name

22)select user.name,profile.designation 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

where role.name='Alumni' and experience.current=1 and experience.company_name='TCS'

order by user.name

23)select user.name,query.content from user

inner join query

on user.id=query.user_id
order by name,date(date);

24)select user.name,query.content from user

inner join query

on user.id=query.user_id

where parent_id is not null

order by name,date(date);

25)select user.name,post.content from user

inner join post

on user.id=post.user_id

order by user.name,date(date);

26)select user.name,post.content from user

inner join post

on user.id=post.user_id

inner join post_type

on post.type_id=post_type.id

where post_type.name='Technology'

order by user.name,post.date;

27)select user.name,post.content from user

inner join post

on user.id=post.user_id
where year(post.date)='2013'

order by user.name,post.date,post.content;

28)select user.name,department.name 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

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

29)select user.name,event.name from user

inner join event

on user.id=event.organiser_id

order by user.name,event.date;
30)select user.name,event.name from user

inner join event

on user.id=event.organiser_id

join role

on user.role_id=role.id

where role.name='Alumni'

order by user.name,event.date;

You might also like