Case Study
Case Study
artist_id INT,
artist_name VARCHAR(30),
);
DESC artist;
SELECT *
FROM artist;
collection_id INT,
collection_type VARCHAR(30),
);
DESC collection;
SELECT *
FROM collection;
album_id INT,
album_name VARCHAR(30),
year INT,
artist_id INT,
collection_id INT,
);
DESC album;
SELECT *
FROM album;
track_id INT,
track_name VARCHAR(20),
time INT,
album_id INT,
);
DESC track;
SELECT *
FROM track;
INSERT INTO collection
2
SELECT COUNT(album.album_id) AS albumsCompiled
FROM album
GROUP BY artist.artist_id
3
SELECT artist_name
FROM artist
WHERE EXISTS(SELECT *
FROM album
4
SELECT * FROM (SELECT album_name, track_name
FROM album,
track
5
SELECT album_name AS Jazz_Album
FROM album,
collection
6
CREATE VIEW albumsInTwo AS
FROM album a,
album b
SELECT artist_name
FROM artist
FROM albumsInTwo
FROM albumsInTwo
7
SELECT album_id, track_name
FROM track
8
CREATE VIEW info AS
FROM album,
artist
SELECT *
FROM info;
9
SELECT track_name
FROM track
Output
Result Set 15
NO_OF_TRACKS
1
0
2
0
0
2
0
1
1
0
0
0
Download CSV
12 rows selected.
Result Set 16
ALBUMSCOMPILED
5
3
2
2
Download CSV
4 rows selected.
Result Set 17
ARTIST_NAME
bob azzam
bb
cc
alice stewart
Download CSV
4 rows selected.
Result Set 18
ALBUM_NAME TRACK_NAME
album a romantic reprise
Download CSV
Result Set 19
JAZZ_ALBUM
album u
album h
album k
Download CSV
Result Set 20
ALBUM_ID TRACK_NAME
1006 re blue eye
1007 jazz_inst
1004 romantic reprise
1004 love f
Download CSV
Result Set 21
ARTIST_NAM
E ALBUM_NAME YEAR
bob azzam album a 2003
bob azzam album b 1999
bb album c 2000
cc album d 2000
bb album e 2003
alice stewart album f 2009
alice stewart album u 2005
alice stewart album g 2006
alice stewart album h 2007
alice stewart album k 2006
cc album i 2002
cc album j 2001
Download CSV
12 rows selected.
Result Set 22
TRACK_NAME
blue eye a
romantic song1
re blue eye
jazz_inst
love f
Till
Download CSV
6 rows selected.
PL/SQL
1
UPDATE album
DESC album;
UPDATE album
2
CREATE OR REPLACE PROCEDURE setprice(inalbumid IN NUMBER)
IS
v_cnt INT;
BEGIN
IF (v_cnt < 2)
THEN
THEN
ELSE
end if;
END;
3
CREATE OR REPLACE PROCEDURE firstCurs
IS
d NUMBER(10) DEFAULT 0;
albumid NUMBER(10);
BEGIN
OPEN Get_cur;
<<lbl>>
LOOP
IF d = 1 THEN
EXIT lbl;
END IF;
IF NOT d = 1 THEN
IF Get_cur%NOTFOUND THEN d := 1;
END IF;
setprice(albumid);
END IF;
END LOOP;
CLOSE Get_cur;
END;
CALL firstCurs;
4
CREATE OR REPLACE FUNCTION maxprice(albumid NUMBER)
RETURN NUMBER
IS
BEGIN
RETURN maxpr;
END;
PL/SQL OUTPUT
Result Set 23
TRACK_ID TRACK_NAME TIME ALBUM_ID PRICE
1 blue eye a 5 1006 149.22
2 romantic song1 6 1005 149.14
3 re blue eye 7 1006 955
4 jazz_inst 8 1007 592.08
5 romantic reprise 9 1004 54.76
6 love f 9 1004 588.32
7 Till 3 1001 188.93
Download CSV
7 rows selected. Statement processed.
Result Set 24
TRACK_ID TRACK_NAME TIME ALBUM_ID PRICE
1 blue eye a 5 1006 164.14
2 romantic song1 6 1005 164.05
3 re blue eye 7 1006 1050.5
4 jazz_inst 8 1007 651.29
5 romantic reprise 9 1004 60.24
6 love f 9 1004 647.15
7 Till 3 1001 207.82
Download CSV
7 rows selected.
Result Set 25
MAXPRICE(100
4)
647.15
Download CSV