Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Table created.
SQL> CREATE TABLE Celebrity
2 (C_Id number(5) PRIMARY KEY,
3 Name varchar2(30),
4 DOB timestamp,
5 Sex varchar2(10));
Table created.
SQL> CREATE TABLE Production_Corporation
2 (Name varchar2(50) PRIMARY KEY,
3 Website varchar2(50),
4 Street varchar2(30),
5 City varchar2(30),
6 State varchar2(30),
7 Zip_Code number(10));
Table created.
SQL> CREATE TABLE M_User
2 (EMail varchar2(50) PRIMARY KEY,
3 Name varchar2(30),
4 Password varchar2(30),
5 Age number(3),
6 Sex varchar2(10));
Table created.
SQL> CREATE TABLE Role
2 (Name varchar2(50),
3 M_ID number(5),
4 C_ID number(5),
5 Role_Description varchar2(100),
6 PRIMARY KEY(Name, M_ID, C_ID),
7 CONSTRAINT fk_mid_mo FOREIGN KEY (M_ID) REFERENCES Movie(M_Id),
8 CONSTRAINT fk_cid_ce FOREIGN KEY (C_ID) REFERENCES Celebrity(C_Id));
Table created.
Table created.
SQL> CREATE TABLE Starring
2 (M_ID number(5),
3 C_ID number(5),
4 PRIMARY KEY(M_ID, C_ID),
5 CONSTRAINT fk_mid_mo_st FOREIGN KEY (M_ID) REFERENCES Movie(M_Id),
6 CONSTRAINT fk_cid_ce_st FOREIGN KEY (C_ID) REFERENCES Celebrity(C_Id));
Table created.
SQL> CREATE TABLE Produced_By
2 (M_ID number(5),
3 Production_Corporation_Name varchar2(50),
4 PRIMARY KEY(M_ID, Production_Corporation_Name),
5 CONSTRAINT fk_mid_mo_pb FOREIGN KEY (M_ID) REFERENCES Movie(M_Id),
6 CONSTRAINT fk_pcn_pc_pb FOREIGN KEY (Production_Corporation_Name) REFERENCES
Production_Corporation(Name));
Table created.
Table created.
INSERTING DATA
SQL> INSERT INTO Movie VALUES
2 (&M_ID, '&NAME', '&GENRE', &YEAR, &LENGTH, '&URL');
Enter value for m_id: 1
Enter value for name: Black Panther
Enter value for genre: Adventure
Enter value for year: 2018
Enter value for length: 02.14
Enter value for url: https://www.imdb.com/title/tt1825683/
old 2: (&M_ID, '&NAME', '&GENRE', &YEAR, &LENGTH, '&URL')
new 2: (1, 'Black Panther', 'Adventure', 2018, 02.14,
'https://www.imdb.com/title/tt1825683/')
1 row created.
SQL> INSERT INTO Celebrity VALUES
2 (&C_ID, '&NAME', to_date('&DOB', 'DD-MM-YYYY'), '&SEX');
Enter value for c_id: 1
Enter value for name: Tim Robbins
Enter value for dob: 16-10-1958
Enter value for sex: Male
old 2: (&C_ID, '&NAME', to_date('&DOB', 'DD-MM-YYYY'), '&SEX')
new 2: (1, 'Tim Robbins', to_date('16-10-1958', 'DD-MM-YYYY'), 'Male')
1 row created.
1 row created.
1 row created.
SQL> INSERT INTO Role VALUES
2 ('&NAME','&M_ID','&C_ID','&ROLE_DESCRIPTION');
Enter value for name: Andy Dufresne
Enter value for m_id: 5
Enter value for c_id: 1
Enter value for role_description: A banker, convicted of murdering his wife and
her lover.
old 2: ('&NAME','&M_ID','&C_ID','&ROLE_DESCRIPTION')
new 2: ('Andy Dufresne','5','1','A banker, convicted of murdering his wife and
her lover.')
1 row created.
1 row created.
1 row created.
Table altered.
Table altered.
Table altered.
DELETE
SQL> DELETE FROM Produced_By
2 WHERE M_ID = 1;
1 row deleted.
UPDATE
SQL> UPDATE Produced_By
2 SET Temp = 'Value'
3 WHERE M_ID = 1;
1 row updated.
SQL> UPDATE Produced_By
2 SET Temp = 'Sec'
3 WHERE Production_Corporation_Name = 'Universal Pictures';
1 row updated.
SQL> UPDATE Produced_By
2 SET Temp = 'Val'
3 WHERE M_ID > 3;
2 rows updated.
M_ID NAME
---------- ------------------------------
1 Black Panther
3 First Man
4 3 Idiots
TIME_STAMP
--------------------------------------------------------------------
-------
25-OCT-18 08.52.30.000000 AM
11-AUG-18 10.43.30.000000 PM
15-AUG-18 07.42.30.000000 PM
31-MAY-07 07.33.10.000000 AM
PASSWORD
------------------------------
bottle
elephant
SQL> SELECT Name FROM M_User
2 WHERE Name LIKE '%an%';
NAME
------------------------------
Ashwani Singh
Shivani Paul
Nikhil Chauhan
Surbhi Chauhan
TITLE
----------------------------------------
Overrated
Brilliant
Great visuals.
Aal iz well.
Simply excellent.
NAME
--------------------------------------------------
Marvel Studios
Universal Pictures
Castle Rock Entertainment
Any five Aggregate functions
SQL> SELECT Avg(Score) FROM Review;
AVG(SCORE)
----------
8.75
COUNT(M_ID)
-----------
5
MAX(AGE)
----------
60
M_USER_EMAIL COUNT(M_ID)
-------------------------------------------------- -----------
ashwani@email.com 4
mohit@email.com 2
nikhil@email.com 3
shivani@email.com 4
shubi@email.com 5
SQL> SELECT Min(Count(M_ID)) FROM Watched_By
2 GROUP BY M_User_Email;
MIN(COUNT(M_ID))
----------------
2
DEVIATIONSCORE
--------------
-1.5
-4.5
-.5
4.5
-2.5
3.5
.5
2.5
-1.5
6.5
.5
DEVIATIONSCORE
--------------
-4.5
12 rows selected.
SQL> SELECT M_ID*C_ID AS Temp
2 FROM Role;
TEMP
----------
5
9
24
8
5
8
6 rows selected.
POWER(2,8)
----------
256s
COS(60)
----------
-.95241298
CEIL(-12.75)
------------
-12
Any five String Functions
SQL> SELECT UPPER(Website) FROM Production_Corporation;
UPPER(WEBSITE)
--------------------------------------------------
WWW.MARVEL.COM
WWW.SIPPY.NET
WWW.UNIVERSALPICTURES.COM
WWW.VINODCHOPRA.COM
WWW.CASTLEROCKENTERTAINMENT.COM
REPLACE(WEBSITE,'WWW.','.')
--------------------------------------------------
.marvel.com
.sippy.net
.universalpictures.com
.vinodchopra.com
.castlerockentertainment.com
LENGTH(WEBSITE)
---------------
14
13
25
19
31
SQL> SELECT Ascii(M_ID) FROM Movie;
ASCII(M_ID)
-----------
49
50
51
52
53
CONCAT(NAME,GENRE)
------------------------------------------------------------
Black PantherAdventure
SholayAction
First ManBiography
3 IdiotsDrama
Shawshank RedemptionDrama
SYSDATE
---------
27-OCT-18
SQL> SELECT Current_Timestamp FROM Dual;
CURRENT_TIMESTAMP
--------------------------------------------------------------------
-------
27-OCT-18 07.18.21.132000 PM +05:30
ADD_MONTH
---------
16-DEC-58
14-MAY-65
16-JUN-84
11-DEC-42
29-JAN-78
21-NOV-80
6 rows selected.
MONTHS
----------
-10.967742
SQL> SELECT Last_Day(Sysdate) AS LastDay
2 FROM Dual;
LASTDAY
---------
31-OCT-18
6 rows selected.
TO_DATE('
---------
01-JAN-96
SQL> SELECT To_Number('123') FROM Dual;
TO_NUMBER('123')
----------------
123
M_ID
----------
1
2
5
NAME
------------------------------
Claire Foy
Kareena Kapoor
Shivani Paul
Surbhi Chuahan
SQL> SELECT Name FROM Role
2 WHERE M_ID = 4
3 MINUS
4 SELECT Name FROM Role
5 WHERE M_ID = 4 AND C_ID = 6;
NAME
--------------------------------------------------
Rancho
MIN(COUNT(M_ID))
----------------
2
M_USER_EMAIL
--------------------------------------------------
ashwani@email.com
shivani@email.com
shubi@email.com
Order by clause
SQL> SELECT Title FROM Review
2 Where M_ID = 4
3 ORDER BY Score;
TITLE
----------------------------------------
Good
Aal iz well.
Loved it
NAME M_ID
------------------------------ ----------
Tim Robbins 5
Kareena Kapoor 4
Aamir Khan 4
CONTENT
--------------------------------------------------------------------
------------
NAME
--------------------------------------------------
It cured my depression.
Rancho
I liked it.
Rancho
M_USER_EMAIL
--------------------------------------------------
STATE
------------------------------
ashwani@email.com
Maharashtra
mohit@email.com
Maharashtra
nikhil@email.com
Maharashtra
M_USER_EMAIL
--------------------------------------------------
STATE
------------------------------
shivani@email.com
Maharashtra
shubi@email.com
Maharashtra
shubi@email.com
Maharashtra
6 rows selected.
NAME
--------------------------------------------------
Janet Shearon
Pia
SQL> SELECT P.Name,P.Zip_Code
2 FROM Production_Corporation P
3 WHERE P.Name IN
4 (SELECT Pr.Production_Corporation_Name
5 FROM Produced_By Pr
6 WHERE Pr.M_ID < 3);
NAME ZIP_CODE
-------------------------------------------------- ----------
Marvel Studios 91510
Sippy Entertainment 400007
AGE MOVIES
---------- ----------
15 5
19 4
60 3
19 4
35 2
Create 2 views (if possible)
View created.
View created.
NAME SCORE
------------------------------ ----------
First Man 12
First Man 9
SQL> DECLARE
2 CURSOR cursor1 IS SELECT Genre, Name FROM Movie;
3 Genre_Movie Movie.Genre%type;
4 Name_Movie Movie.Name%type;
5 BEGIN
6 OPEN cursor1;
7 LOOP
8 FETCH cursor1 INTO Genre_Movie, Name_Movie;
9 EXIT WHEN cursor1%NOTFOUND;
10 IF (Genre_Movie = 'Drama') THEN
11 DBMS_OUTPUT.PUT_LINE('Movie Name: '||Name_Movie);
12 END IF;
13 END LOOP;
14 CLOSE cursor1;
15 END;
16 /
Movie Name: 3 Idiots
Movie Name: Shawshank Redemption
Function created.
SQL> DECLARE
2 answer NUMBER;
3 BEGIN
4 answer := totalReviews();
5 DBMS_OUTPUT.PUT_LINE('Total Reviews: '||answer);
6 END;
7 /
Total Reviews: 2
Old Score: 10
New Score: 13
Score Difference: 3
Old Score: 3
New Score: 6
Score Difference: 3
2 rows updated.