0% found this document useful (0 votes)
97 views7 pages

Writing Basic SQL Queries: Exercise 1

The document describes creating databases and tables in SQL to store campus and gym data. It creates Campus and Building tables with a foreign key relationship, and populates them with sample data. It also creates Gym, Customer, and Frequents tables with foreign keys, and populates them. It then performs some queries on the tables, such as finding buildings for a campus or gyms frequented by a customer.

Uploaded by

Niha Ramzan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
97 views7 pages

Writing Basic SQL Queries: Exercise 1

The document describes creating databases and tables in SQL to store campus and gym data. It creates Campus and Building tables with a foreign key relationship, and populates them with sample data. It also creates Gym, Customer, and Frequents tables with foreign keys, and populates them. It then performs some queries on the tables, such as finding buildings for a campus or gyms frequented by a customer.

Uploaded by

Niha Ramzan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Writing Basic SQL Queries

Exercise 1
Code:
-- Lab 5
-- Exercise 1

-- Drop Previous Database


DROP DATABASE university_campus;

-- Create New Database


create schema University_Campus;

-- Step 1
create table University_Campus.Campus(
CampusID int(5) not null,
CampusName varchar(30) not null,
CampusAddress varchar(50) null,
Country varchar(20) null,
City varchar(20) null,
isOpen bit not null,
primary key(CampusID));

-- Step 2
create table University_Campus.Building(
BuildingID int(5) not null,
BuildingName varchar(30) null,
Address varchar(30) null,
primary key(BuildingID));
-- Step 3
alter table University_Campus.Building
add column F_CampusID int(5) null,
add foreign key(F_CampusID) references University_Campus.Campus(CampusID)
on delete set null
on update cascade;

-- Step 4
insert into University_Campus.Campus(CampusID, CampusName, CampusAddress, Country, City,
isOpen)
values
(1, 'Main', 'G.T.Road', 'Pakistan', 'Lahore', 0b1),
(2, 'Old', 'Neelum Block', 'Pakistan', 'Lahore', 0b1),
(3, 'Shadbagh', 'Shadbagh', 'Pakistan', 'Lahore', 0b1),
(4, 'Noon Avenue', 'Muslim Town', 'Pakistan', 'Lahore', 0b1),
(5, 'New', 'Gulberg', 'Pakistan', 'Lahore', 0b1);
insert into University_Campus.Building(BuildingID, BuildingName, Address, F_CampusID)
values
(1, 'Research Department', 'G.T.Road', 1),
(2, 'EE Department', 'G.T.Road', 1),
(3, 'Students Service Centre', 'G.T.Road', 1),
(4, 'ME Department', 'G.T.Road', 1),
(5, 'EE Department', 'G.T.Road', 2);

-- Step 5
select 'Campus Table' as '';
select * from University_Campus.Campus;
select 'Building Table' as '';
select * from University_Campus.Building;
-- Step 6
-- There are already at least two buildings belonging to the same campus.
select 'All Buildings of Campus 1' as '';
select * from University_Campus.Building where F_CampusID = 1;

-- Step 7
update University_Campus.Campus
set CampusName = replace(CampusName, 'Main', 'myCampus');
select 'Campus Table on Replacing "Main" with "myCampus"' as '';
select * from University_Campus.Campus;

-- Step 8
delete from University_Campus.Campus where CampusName = 'myCampus';
select 'Campus Table after deleting "myCampus"' as '';
select * from University_Campus.Campus;
select 'University Table after deleting "myCampus"' as '';
select * from University_Campus.Building;
Output:
Exercise 2
Code:
-- Lab 5
-- Exercise 2

-- Drop Previous Database


DROP DATABASE Gym_Record;

-- Create New Database


create schema Gym_Record;

-- Gym Table
create table Gym_Record.Gym(
gymName varchar(30) not null,
gymOwner varchar(20) null,
gymStreet int(5) null,
primary key(gymName));

-- Customer Table
create table Gym_Record.Customer(
customerName varchar(20) not null,
customerStreet int(5) null,
customerAge int(3) null,
primary key(customerName));

-- Frequents Table
create table Gym_Record.Frequents(
F_customerName varchar(20) not null,
F_gymName varchar(30) not null,
primary key(F_customerName, F_gymName),
foreign key(F_gymName) references Gym_Record.Gym(gymName) on delete restrict on update cascade,
foreign key(F_customerName) references Gym_Record.Customer(customerName) on delete restrict on
update cascade);

-- Populating Gym Table


insert into Gym_Record.Gym(gymName, gymOwner, gymStreet)
values
('Fitness First Gym', 'Ramzan', 1),
('Genesis Fitness Club', 'Irfan', 2),
('Pakistan Gym Club', 'Sadaqat', 3);

-- Populating Customer Table


insert into Gym_Record.Customer(customerName, customerStreet, customerAge)
values
('Usman', 1, 18),
('Waqar', 2, 19),
('Haider', 3, 20);

-- Populating Frequents Table


insert into Gym_Record.Frequents(F_customerName, F_gymName)
values
('Usman', 'Genesis Fitness Club'),
('Haider', 'Pakistan Gym Club'),
('Waqar', 'Fitness First Gym');

-- Printing the three tables


select 'Gym Table' as '';
select * from Gym_Record.Gym;
select 'Customer Table' as '';
select * from Gym_Record.Customer;
select 'Frequents Table' as '';
select * from Gym_Record.Frequents;

-- Task 1
select 'Gyms that Usman Frequents' as '';
select F_gymName from Gym_Record.Frequents where F_customerName = 'Usman';

-- Task 2
select 'Customers who frequent only gyms on the same street that (s)he lives on' as '';
select F_customerName
from Gym_Record.Frequents
inner join Gym_Record.Gym on F_gymName = gymName
inner join Gym_Record.Customer on F_customerName = customerName
where customerStreet = gymStreet;

Output:

You might also like