Download as pdf or txt
Download as pdf or txt
You are on page 1of 93

Exercise 1

Sports Craft Company has organized tournaments in multiple individual sports and invited top ranked players to play. Each tournament
comprises of multiple matches in knock out format. Each match is played between two players.
Problem Statement: Create the Player table as per information provided below:

Column Name Data Type Constraint Description

PId INTEGER PRIMARY KEY Unique player Id is mandatory for every player

PName VARCHAR2(20) NOT NULL Player Name

Ranking INTEGER Player's ranking

CREATE TABLE Player (

PId INTEGER PRIMARY KEY,

PName VARCHAR2(20) NOT NULL,

Ranking INTEGER

Exercise 2
Create the Tournament table as per information below:

Column
Data Type Constraint Description
Name

PRIMARY Unique tournament Id for every


TId INTEGER
KEY tournament

TName VARCHAR2(30) NOT NULL Tournament Name

StartDt DATE NOT NULL Start Date of the tournament

EndDt DATE NOT NULL End Date of the tournament

Prize INTEGER NOT NULL Prize to be won in the tournament

CREATE TABLE TOURNAMENT(

TId INTEGER,

TName VARCHAR2(30) NOT NULL,

StartDt DATE NOT NULL,

EndDt DATE NOT NULL,

Prize INTEGER NOT NULL,

CONSTRAINT tour_tid_pk PRIMARY KEY(TId)

)
Exercise 3
Create Match table as per details below. A player cannot play against himself, so player1 should not be equal to player2.

Column
Data Type Constraint Description
Name

Unique Match Id for a


MId INTEGER
tournament
PRIMARY
KEY Existing tournament Id
TId INTEGER FOREIGN KEY present in tournament
table

FOREIGN Existing player Id


Player1 INTEGER
KEY Player1 should not present in player table

FOREIGN be equal to Player2 Existing player Id


Player2 INTEGER
KEY present in player table

MatchDt DATE NOT NULL Match Date

Existing player Id
Winner INTEGER FOREIGN KEY
present in Player table

Score VARCHAR2(30) NOT NULL Match Score


CREATE TABLE Match (

MId INTEGER,

TId INTEGER REFERENCE Tournament(TId),

Player1 INTEGER REFERENCE Player(PId),

Player2 INTEGER REFERENCE Player(PId),

MatchDt DATE NOT NULL,

Winner INTEGER REFERENCE Player(PId),

Score VARCHAR2(30) NOT NULL,

CONSTRAINT match_tid_pk PRIMARY KEY(MId,TId),

CONSTRAINT match_plr_chk CHECK(Player1 <> Player2)

Exercise 4
Add 'MatchesPlayed', 'MatchesWon' columns of type NUMBER to Player table discribed below:

Column Name Data Type Constraint Description

PId INTEGER PRIMARY KEY Unique Player Id


Column Name Data Type Constraint Description

PName VARCHAR2(20) NOT NULL Player Name

Ranking INTEGER Player's ranking

ContactNo NUMBER(10) Player Contact Number

ALTER TABLE Player ADD (MatchesPlayed NUMBER, MatchesWon NUMBER);

Exercise 7 : ALTER TABLE


Drop Column 'ContactNo' from table Player.

Column Name Data Type Constraint Description

PId INTEGER PRIMARY KEY Unique Player Id

PName VARCHAR2(20) NOT NULL Player Name

Ranking INTEGER Player's ranking

ContactNo NUMBER(10) Player Contact Number

ALTER TABLE Player DROP (ContactNo);

Exercise 8 : ALTER TABLE


Rename Column 'PId' to 'PlayerId' in table Player.

Column Name Data Type Constraint Description

PId INTEGER PRIMARY KEY Unique Player Id

PName VARCHAR2(20) NOT NULL Player Name

Ranking INTEGER Player's ranking

ContactNo NUMBER(10) Player Contact Number

ALTER TABLE Player RENAME COLUMN PId TO PlayerId;


Exercise 9 : ALTER TABLE
Modify datatype of PName to VARCHAR2(50) in Player table.

Column Name Data Type Constraint Description

PId INTEGER PRIMARY KEY Unique Player Id

PName VARCHAR2(20) NOT NULL Player Name

Ranking INTEGER Player's ranking

ContactNo NUMBER(10) Player Contact Number

ALTER TABLE Player MODIFY PName VARCHAR2(50);


Exercise 10 : Insert

INSERT INTO Salesman VALUES (11, 'Elizabeth', 'London');


Exercise 11 : Insert

INSERT INTO Product VALUES (110, 'Bat', 50, 'Sports', NULL);


Exercise 12 : Select Clause

SELECT * FROM Product;


Exercise 13 : Select Clause

SELECT Prodid, Price, Category FROM Product;


Exercise 14 : Select Clause

SELECT DISTINCT Category FROM Product;


Exercise 7

SELECT Prodid, Pdesc, Category, Discount FROM Product WHERE Category = 'Apparel' ;
Exercise 8

SELECT Prodid, Pdesc, Category, Discount FROM Product WHERE Pdesc IS NULL;
Exercise 9

SELECT Prodid, Pdesc, Category, Discount FROM Product WHERE Category = 'Apparel' AND (Discount>5);

Collaborative Assignment 2
Create the Shopper table with appropriate data types for the attributes described below.

Column
Constraints DESCRIPTION
Name

Shopperid PRIMARY KEY Unique id of the shopper. For ex. 2001, 2003
Column
Constraints DESCRIPTION
Name

ShopperName NOT NULL Name of the Shopper. It cannot be more than 20 characters.

should be only 'Male' or


Gender Gender of the Shopper. It cannot be more than 6 characters.
'Female'

Mobile number of the Shopper in numeric form. Characters like brackets and
MobileNo NOT NULL
hyphens are not allowed.

Address of the Shopper. It cannot be more than 50 characters. For ex. Allen
Address
Street, New York

Write your query here

CREATE TABLE Shopper(

Shopperid INTEGER PRIMARY KEY,

ShopperName VARCHAR2(20) NOT NULL,

Gender VARCHAR2(6) CHECK(Gender IN('Male', 'Female')),

MobileNo NUMBER NOT NULL,

Adress VARCHAR2(50)

);

ALTER TABLE Shopper MODIFY MobileNo VARCHAR2(15);

Collaborative Assignment 3

Alter the table Shopper to change the data type of mobile number from NUMBER to VARCHAR2. Mobile number can have a
maximum length of 15 characters.

Column Name Constraints DESCRIPTION

Shopperid PRIMARY KEY Unique id of the shopper. For ex. 2001, 2003

ShopperName NOT NULL Name of the Shopper

Gender should be only 'Male' or 'Female' Gender of the Shopper

MobileNo NOT NULL Mobile number of the Shopper


Column Name Constraints DESCRIPTION

Address Address of the Shopper. For ex. Allen Street, New York

Write your query here

CREATE TABLE Shopper(

Shopperid INTEGER PRIMARY KEY,

ShopperName VARCHAR2(20) NOT NULL,

Gender VARCHAR2(6) CHECK(Gender IN('Male', 'Female')),

MobileNo NUMBER NOT NULL,

Adress VARCHAR2(50)

);

SELECT * FROM Shopper,

ALTER TABLE Shopper MODIFY MobileNo VARCHAR2(15),

SELECT * FROM Shopper;

Assignment 1

Create the Article table as per specification below.

Column Name Data Type Constraints DESCRIPTION

ArCode CHAR(5) PRIMARY KEY; Must begin with character 'A' Unique code of the article e.g. A1001, A1004

ArName VARCHAR2(30) NOT NULL Article Name

Rate NUMBER(8,2) Rate of the article. For ex. 5000.0

Quantity NUMBER(4) Greater than or equal to 0; Default Value is 0 Quantity availability of the article. For ex. 20

Class CHAR(1) Can be A, B or C Class of the article

Write your query here

CREATE TABLE Article(

ArCode CHAR(5) CHECK (ArCode like 'A____') PRIMARY KEY,

ArName VARCHAR2(30) NOT NULL,


Rate NUMBER(8,2),

Quantity NUMBER(4) CHECK (Quantity>=0) DEFAULT 0,

Class CHAR(1) CHECK(Class IN('A','B','C'))

Assignment 5 : Mandatory

Create the Store table as per specification below.

Column Name DataType and Size Constraints DESCRIPTION

Name VARCHAR2(20) PRIMARY KEY Unique name of the store. For ex. WalMart, Big Bazar

Location VARCHAR2(30) NOT NULL Location of the store. For ex. Dallas

ManagerName VARCHAR2(30) UNIQUE Manager's name of the store

Write your query here

CREATE TABLE Store(

Name VARCHAR2(20) PRIMARY KEY,

Location VARCHAR2(30) NOT NULL,

ManagerName VARCHAR2(30) UNIQUE

Assignment 6 : Mandatory

Modify the column Name in Store table to StoreName.

Column Name DataType and Size Constraints DESCRIPTION

Name VARCHAR2(20) PRIMARY KEY Unique name of the store. For ex. WalMart, Big Bazar

Location VARCHAR2(30) NOT NULL Location of the store. For ex. Dallas

ManagerName VARCHAR2(30) UNIQUE Manager's name of the store

Write your query here

ALTER TABLE Store RENAME COLUMN Name TO StoreName;


Assignment 7 : Mandatory

Create the Bill table as per specification below.

Column DataType and


Constraints DESCRIPTION
Name Size

BillNo NUMBER PRIMARY KEY Unique id of the bill. For ex. 5001, 5005

StoreName VARCHAR2(20) FOREIGN KEY Existing StoreName in Store table

Shopperid NUMBER FOREIGN KEY Existing ShopperId in Shopper table

Article purchased by the shopper. Existing ArCode in


ArCode CHAR(5) FOREIGN KEY
Article table

Amount NUMBER Bill amount. For ex. 350.0

BillDate DATE Date of billing

Should be > 0 and Default


Quantity NUMBER(4) Quantity of the article purchased. For ex. 45
value is 1

Write your query here

CREATE TABLE Bill(

BillNo NUMBER PRIMARY KEY,

StoreName VARCHAR2(20),

Shopperid NUMBER,

ArCode CHAR(5),

Amount NUMBER,

BillDate DATE,

Quantity NUMBER(4) CHECK(Quantity>=0) DEFAULT 1,

CONSTRAINT bill_shop_fk FOREIGN KEY(StoreName,Shopperid,ArCode)

);

Assignment 8 : Mandatory

Create the Supplier table based on the specification below.


Column Name DataType Constraints DESCRIPTION

Supplierid VARCHAR2(6) PRIMARY KEY Unique Id of the supplier

Name VARCHAR2(30) Name of the supplier

ContactNo VARCHAR2(15) NOT NULL Contact number of the Supplier

Emailid VARCHAR2(30) Email Id of the supplier

Write your query here

CREATE TABLE Supplier(

SupplierId VARCHAR2(6) PRIMARY KEY,

Name VARCHAR2(30),

ContactNo VARCHAR2(15) NOT NULL,

EmailId VARCHAR2(30)

Assignment 9 : Mandatory

Modify the Supplier table to store the supplier city. The column name should be City and it can have maximum of 10 characters.

Column Name DataType Constraints DESCRIPTION

Supplierid VARCHAR2(6) PRIMARY KEY Unique Id of the supplier

Name VARCHAR2(30) Name of the supplier

ContactNo VARCHAR2(15) Contact number of the Supplier

Emailid VARCHAR2(30) Email Id of the supplier

Write your query here

ALTER TABLE Supplier ADD City VARCHAR2(10);

Assignment 10 : Mandatory

Remove the Emailid column from Supplier table


Column Name DataType Constraints DESCRIPTION

Supplierid VARCHAR2(6) PRIMARY KEY Unique Id of the supplier

Name VARCHAR2(30) Name of the supplier

ContactNo VARCHAR2(15) Contact number of the Supplier

Emailid VARCHAR2(30) Email Id of the supplier

Write your query here

ALTER TABLE Supplier DROP (EmailId);

Assignment 11 : Optional

Create the City table as per the specification.

Column Name DataType Constraints DESCRIPTION

City VARCHAR2(20) UNIQUE City Name

Write your query here

CREATE Table City(

City VARCHAR2(20) UNIQUE

)
Assignment 12 : Optional

Drop the column city from the City table.

Column Name DataType Constraints DESCRIPTION

City VARCHAR2(20) UNIQUE City Name

Write your query here

ALTER TABLE City DROP (City);

Actually we cannot drop the last (in this case one and only ) column from table, we need to drop table.

DROP TABLE City;

Assignment 13 : Optional

Create the Address table as per specification below:

Column Name DataType Constraints DESCRIPTION

HouseNo NUMBER
Unique address identifier
Street VARCHAR2(30) PRIMARY KEY

city VARCHAR2(20) Foreign Key Existing City present in City table

zip NUMBER(6) Should be >= 0 Zip code of the city

state VARCHAR2(5)

Write your query here

CREATE TABLE Address(

HouseNo NUMBER,

Street VARCHAR2(30),

city VARCHAR2(20) REFERENCE City(City),

zip NUMBER(6) CHECK(zip>=0),

state VARCHAR2(5),
CONSTRAINT add_hous_pk PRIMARY KEY (HouseNo,Street,city)

Assignment 14 : Optional

Modify the size of state column in Address table from 5 to 20.

Column Name DataType Constraints DESCRIPTION

HouseNo NUMBER
Unique address identifier
Street VARCHAR2(30) PRIMARY KEY

city VARCHAR2(20) Foreign Key Existing City present in City table

zip NUMBER(6) None Should be >= 0 Zip code of the city

state VARCHAR2(5)

Write your query here

ALTER TABLE Address MODIFY state VARCHAR2(20);

Collaborative Assignment 15

Insert the following data into Shopper table. Modify the data in case of constraint violation.

ShopperId ShopperName Gender MobileNo Address

101 Mark Jane M 1234567890 Allen Street, New York

Write your query here

INSERT INTO Shopper (ShopperId, ShopperName, Gender, MobileNo, Address) VALUES (101, 'Mark Jane', 'M', 1234567890,
'Allen Street, New York');

Assignment 2

Insert the following data into Article table.


ArCode ArName Rate Quantity Class

A1001 Mouse 500 0 C

Write your query here

INSERT INTO Article (ArCode, ArName, Rate, Quantity, Class) VALUES ('A1001', 'Mouse', 500, 0, 'C');

Assignment 17 : Mandatory

Insert the following data into Store table created on Day 2.

StoreName Location ManagerName

Loyal World Infy Campus, Mysore Rohan Kumar

Write your query here

INSERT INTO Store (StoreName, Location, ManagerName) VALUES ('Loyal World', 'Infy Campus, Mysore', 'Rohan Kumar');

Assignment 18 : Mandatory

Insert the following data into Bill table created on Day 2.

BillNo StoreName Shopperid ArCode Amount BillDate Quantity

Valid data 1001 Loyal World 101 A1001 1000 20-OCT-15 2

Invalid data 1002 Loyal World 101 A1002 1000 15-NOV-15 10

Write your query here

INSERT INTO Bill (BillNo, StoreName, Shopperid, ArCode, Amount, BillDate, Quantity) VALUES (1001, 'Loyal World', 101, 'A1001',
1000, 20-OCT-15, 2);

Assignment 19 : Mandatory

Insert the following data into Supplier table created on Day 2.


Supplierid Name ContactNo City

S501 Avaya Ltd 9012345678 Mysore

Write your query here

INSERT INTO Supplier VALUES ('S501', 'Avaya Ltd', 9012345678, 'Mysore')

Assignment 3

SELECT Descr, Price FROM Item WHERE Descr IN('%Hard disk%');


Assignment 4

SELECT Quotationid, Sname, Itemcode, Quotedprice, Qdate, Qstatus FROM Quotation WHERE Qstatus = 'Rejected' OR Qstatus =
'Closed';

OR

SELECT Quotationid, Sname, Itemcode, Quotedprice, Qdate, Qstatus FROM Quotation WHERE Qstatus NOT IN ('Accepted')

OR

SELECT Quotationid, Sname, Itemcode, Quotedprice, Qdate, Qstatus FROM Quotation WHERE Qstatus <>'Accepted'

Assignment 5
SELECT Designation, Salary FROM Empdetails WHERE Designation IN('Manager', 'Billing Staff');

Assignment 6

SELECT Roid, Location FROM Retailoutlet WHERE Managerid IS NULL;

Assignment 7

SELECT Orderid, Quotationid, Status FROM Orders WHERE Orderdate BETWEEN '1-Dec-2014' and '1-Jan-2015';
Assignment 25 : Mandatory

select itemcode,descr,price from item where descr like '%Shirt%' and category='B' or descr like '%Skirt%' and category='B';

Assignment 26 : Mandatory

SELECT DISTINCT Designation, Salary FROM Empdetails;


Assignment 27 : Mandatory

SELECT Itemcode, Descr, Price FROM Item;

Assignment 28 : Mandatory

SELECT Quotationid, Sname FROM Quotation WHERE Qstatus IN( 'Accepted', 'Rejected');
Assignment 29 : Mandatory

SELECT Itemcode, Descr, Price FROM Item WHERE Descr LIKE'_r%'

Assignment 30 : Mandatory

SELECT DISTINCT Itemtype FROM Item;


Assignment 31 : Mandatory

SELECT Orderid, Quotationid, Status, Pymtdate FROM Orders WHERE Pymtdate IS NULL;

Or

SELECT Orderid, Quotationid, Status, Pymtdate FROM Orders WHERE Amountpaid IS NULL;

Assignment 32 : Mandatory

SELECT DISTINCT Itemtype, Category FROM Item;


Assignment 33 : Mandatory

SELECT Empid, Salary AS "Current Salary", 1.1*Salary AS "New Salary", 0.1*Salary AS "Incremented Amount" FROM Empdetails ;

Assignment 34 : Mandatory

INSERT INTO City (City) VALUES ('Mysore');


Assignment 35 : Optional

INSERT INTO Address VALUES (350, 'Electronics City', 'Mysore', 570018, 'Karnataka')

Assignment 36 : Optional

INSERT INTO Article VALUES ('A1002', 'Keyboard', 1000, 10, 'B')


Assignment 37 : Optional

SELECT Quotationid, Qdate, Quotedprice FROM Quotation WHERE Quotedprice BETWEEN 1401 and 2149;

Assignment 38 : Optional

SELECT Itemtype, Descr, Price FROM Item WHERE Price>4000;


Assignment 39 : Optional

SELECT Designation, Salary FROM Empdetails WHERE Designation IN('Manager','Billing Staff') AND Salary BETWEEN 2500 AND
5000;

Exercise 5

UPDATE Product SET Discount=25 WHERE Category = 'Sports';


Exercise 19 : Update

UPDATE Product SET Price=50 WHERE Category = 'Apparel' and Pdesc = 'Trouser';

Exercise 20 : Update

UPDATE Salesman SET Sname ='Jenny', Location ='Bristol' WHERE Sid=3;


Exercise 6

DELETE FROM Saledetail WHERE Saleid=1004;

Exercise 22 : Delete

DELETE FROM Saledetail WHERE Quantity>5;


Exercise 23 : Functions

SELECT Prodid, Pdesc, Category FROM Product WHERE upper(Category) = 'ELECTRONICS';

OR

SELECT Prodid, Pdesc, Category FROM Product WHERE lower(Category) = 'electronics';

Exercise 24 : Functions

SELECT Prodid, SUBSTR(Pdesc,1,5) "PDESC_FIVE", Category FROM Product ;


Exercise 25 : Functions

SELECT COUNT(Saleid) SALE_COUNT FROM Sale WHERE Sldate Between SYSDATE AND (SYSDATE - 1200 )

OR

SELECT COUNT(Saleid) SALE_COUNT FROM Sale WHERE ABS(MONTHS_BETWEEN(sldate,SYSDATE))<40;

Exercise 26 : Functions

SELECT NVL(PDESC,'No Description') "PDESC", Discount FROM Product;


Exercise 27 : ORDER BY

SELECT Prodid, Category, Price, Discount FROM Product ORDER BY Category DESC, Price ASC;

Exercise 10

SELECT Prodid, Category, Discount FROM Product WHERE Category ='Sports' OR Category ='Apparel' ORDER BY
Category,Discount;

OR

SELECT Prodid, Category, Discount FROM Product WHERE Category IN('Sports','Apparel') ORDER BY Category,Discount;
Collaborative Assignment 40

SELECT Distinct Itemtype,

CASE

WHEN Price BETWEEN 0 and 499 THEN 'Cheap'

WHEN Price BETWEEN 500 and 1999 THEN 'Affordable'

WHEN Price BETWEEN 2000 and 4999 THEN 'Expensive'

WHEN Price >=5000 THEN 'Very Expensive'

END Classification

FROM Item

ORDER BY Itemtype, Classification;

Collaborative Assignment 42
SELECT Orderid, ROUND((MONTHS_BETWEEN(Pymtdate, Orderdate)), 2) "No of Months"

FROM Orders

WHERE (MONTHS_BETWEEN(Pymtdate, Orderdate))>0.1

Collaborative Assignment 43

SELECT Empid, Salary AS "Current Salary", Salary*1.2 AS "New Salary", Salary*0.2 AS "Incremented Amount" FROM Empdetails
WHERE Designation='Manager'

Collaborative Assignment 44

SELECT Itemcode FROM Item WHERE (ABS(Qtyonhand-Reorderlevel))>50;


Exercise 31 : Functions

SELECT Prodid, Pdesc, Price AS "Old_Price", ROUND((Price*0.775), 2) AS "New_Price" FROM Product WHERE Category='Sports';

Exercise 32 : Functions

SELECT Saleid, ROUND((MONTHS_BETWEEN(SYSDATE, Sldate)), 1) AS "MONTH_AGED" FROM Sale


Exercise 33 : Functions

SELECT ROUND(AVG(Price), 2) AS "Avg", MIN(Price) AS "Min", MAX(Price) AS "Max", COUNT(Prodid) AS "Total" FROM Product

Exercise 34 : Functions

SELECT CONCAT(CONCAT(CONCAT(CONCAT(' ', Sname), ' is from '), Location), ' ') AS "RESULT" FROM Salesman;
Exercise 35 : Functions

SELECT TO_CHAR((TO_DATE('Jan/10/2015','mon/dd/yyyy')), 'Month') AS "MONTH", TO_NUMBER('2,50,000','9,99,999') AS

"AMOUNT" FROM DUAL

Exercise 36: ORDER BY

SELECT Prodid, Pdesc, Price FROM Product ORDER BY Price DESC,Prodid DESC;
Exercise 37 : ORDER BY

SELECT Prodid, Pdesc, Price FROM Product ORDER BY Pdesc ASC;

Assignment 51 : Mandatory
SELECT Empid, Empname, Salary,

CASE

WHEN Designation='Administrator' THEN Salary*1.1

WHEN Designation='Manager' THEN Salary*1.05

WHEN Designation='Billing Staff' THEN Salary*1.2

WHEN Designation='Security' THEN Salary*1.25

ELSE Salary*1.02

END "INCREASEDSALARY"

FROM Empdetails ;

Assignment 52 : Mandatory

SELECT EMPID,SALARY,

CASE

WHEN SALARY<2500 THEN 'Class 3'

WHEN SALARY BETWEEN 2500 AND 5000 THEN 'Class 2'

WHEN SALARY>5000 THEN 'Class 1'

END AS "SALGRADE"

FROM EMPDETAILS;
Assignment 53 : Mandatory

SELECT Itemcode, Price AS "Old Price", ROUND((Price*0.745), 2) AS "New Price" FROM Item WHERE Itemtype = 'FMCG'

Assignment 54 : Mandatory

SELECT Empid, Empname, Worksin FROM Empdetails WHERE LOWER(Designation)='billing staff';

OR

SELECT Empid, Empname, Worksin FROM Empdetails WHERE UPPER(Designation)='BILLING STAFF';


Assignment 8

SELECT Orderid, Status, NVL(Pymtmode, 'Payment yet not done') AS "PYMTMODE" FROM Orders ;

Assignment 56 : Mandatory

SELECT Descr FROM Item WHERE LENGTH(Descr)>15;


Assignment 57 : Mandatory

SELECT SUBSTR(Roid,2) AS "NUMERICROID" FROM Retailoutlet ;

Assignment 58 : Mandatory

SELECT TO_CHAR(SYSDATE, 'Mon/DD/YYYY Day') "CURRENTDATE" FROM DUAL;

OR

SELECT CONCAT((TO_CHAR(SYSDATE, 'Mon/dd/yyyy')),(TO_CHAR(SYSDATE,' Day'))) AS "CURRENTDATE" FROM DUAL;


Assignment 9

SELECT COUNT(Orderdate) AS "TOTALORDERSCOUNT", COUNT(Pymtdate) AS "PAIDORDERSCOUNT" FROM Orders

OR

SELECT COUNT(Orderid) "TOTALORDERSCOUNT", COUNT(Pymtmode) "PAIDORDERSCOUNT" FROM Orders

Assignment 60 : Optional

SELECT Orderid, ABS(Orderdate-Pymtdate) AS "NOOFDAYS" FROM Orders ;

OR

SELECT Orderid, ABS(Pymtdate-Orderdate) AS "NOOFDAYS" FROM Orders ;


Assignment 61 : Optional

SELECT COUNT(DISTINCT(Itemtype)) AS "NOOFITEMTYPES" FROM Item ;

Assignment 10

SELECT MAX(Salary) AS "MAXSAL", MIN(Salary) AS "MINSAL", SUM(Salary) AS "TOTALSAL",

AVG(Salary) AS "AVGSAL" FROM Empdetails


Assignment 64 : Optional

SELECT COUNT(Itemcode) AS "NOOFITEMS" FROM Item;

Assignment 65 : Optional

SELECT Orderid, MONTHS_BETWEEN(Orderdate, Pymtdate) AS "No of Months" FROM Orders;


Exercise 29 : GROUP BY

select to_char(sldate,'Month') "MONTH" ,count(1) "NUMBER_SALE" from sale group by to_char(sldate,'Month') order by 2
DESC;

Exercise 11

SELECT PRODID "PRODID",SUM(QUANTITY) "QTY_SOLD" FROM SALEDETAIL WHERE QUANTITY>1 GROUP BY PRODID HAVING
COUNT(PRODID)>1;
Exercise 40 : Union

SELECT Sid, Sname, Location FROM Salesman WHERE Sname LIKE '%e%' AND Location LIKE '%o%'

UNION ALL

SELECT Sid, Sname, Location FROM Salesman WHERE Sname LIKE '%a%' AND Location LIKE '%a%'

Exercise 41 : Union

SELECT Prodid, Pdesc, Category, Discount FROM Product WHERE Discount<10

UNION ALL

SELECT Prodid, Pdesc, Category, Discount FROM Product WHERE Category='Sports'


Exercise 42 : Union

SELECT Prodid, Pdesc, Category, Discount FROM Product WHERE Discount<10

UNION

SELECT Prodid, Pdesc, Category, Discount FROM Product WHERE Category='Sports'

OR

SELECT Prodid, Pdesc, Category, Discount FROM Product WHERE Discount<10 OR Category='Sports'

Exercise 43 : Union

SELECT 'S' AS "TYPE", Sid AS "ID", Sname AS "DETAILS" FROM Salesman

UNION ALL

SELECT 'P' AS "TYPE", Prodid AS "ID", Category AS "DETAILS" FROM Product


Exercise 44 : Joins

SELECT Id, Ename, Dept, E.Compid, Make FROM Employee E INNER JOIN Computer C ON E.Compid=C.Compid;

Exercise 13

SELECT Id, Ename, C.Compid, Make FROM Employee E INNER JOIN Computer C ON E.Compid=C.Compid WHERE Model IN(
'Precision', 'Edge');
Exercise 14

SELECT E.Dept, COUNT(C.Compid) AS "NUMBER OF COMPUTERS" FROM Employee E INNER JOIN Computer C ON
E.Compid=C.Compid WHERE Make='Dell' GROUP BY E.Dept;

Collaborative Assignment 41

SELECT TO_CHAR(Qdate,'Month') AS "MONTH", COUNT(1) AS "QUOTATIONCOUNT" FROM Quotation GROUP BY


TO_CHAR(Qdate,'Month');
Exercise 12

SELECT Location, COUNT(1) AS "NUMBER_SMAN" FROM Salesman GROUP BY Location;

Exercise 39 : GROUP BY

SELECT Category FROM Product GROUP BY Category HAVING COUNT(Prodid)>1


Assignment 11

SELECT itemcode, AVG(Qtyavailable) AS "Average Quantity" FROM Retailstock GROUP BY itemcode HAVING
AVG(Qtyavailable)<75;

Assignment 46 : Mandatory

SELECT Pymtmode, COUNT(1) AS "PYMTCOUNT" FROM Orders WHERE TO_CHAR(Pymtdate,'YYYY')<2015 GROUP BY Pymtmode
HAVING COUNT(1)>1;
Assignment 12

SELECT Sname, AVG(Quotedprice) AS "Average quoted price" FROM Quotation

WHERE Qstatus='Closed' GROUP BY Sname HAVING AVG(Quotedprice)>500;

Assignment 48 : Mandatory

SELECT Itemtype, Category, ROUND(AVG(Price), 2) AS "Average item price"

FROM Item WHERE Itemtype IN('FMCG', 'Computer') GROUP BY Itemtype, Category HAVING (AVG(Price))<2000;
Assignment 13

SELECT Job, AVG(Sal) AS "Average Salary" FROM Emp WHERE Job IN ('MANAGER', 'ANALYST') GROUP BY Job HAVING
AVG(Sal)>1500;

Assignment 14

SELECT Job, Deptno, AVG(Sal) AS "AVGSALARY" FROM Emp WHERE Deptno IN(10, 20) AND Sal>2000 GROUP BY Job, Deptno
HAVING AVG(Sal)>2500;
Assignment 63 : Optional

SELECT Sname, AVG(Quotedprice) AS "Average quoted price" FROM Quotation WHERE Quotedprice>1000 AND Qstatus='Closed'
GROUP BY Sname HAVING AVG(Quotedprice)<4500

Collaborative Assignment 67

SELECT Ename, Sal, D.Dname FROM Emp E INNER JOIN Dept D ON E.Deptno=D.Deptno WHERE E.Sal>2000;
Collaborative Assignment 68

SELECT E.Ename, D.Dname FROM Emp E INNER JOIN Dept D ON E.Deptno=D.Deptno WHERE E.Job='MANAGER'

Collaborative Assignment 69

SELECT DISTINCT Dname FROM Dept D INNER JOIN Emp E ON D.Deptno=E.Deptno WHERE E.Sal>1500;
Assignment 21

SELECT I.Itemcode, I.Descr, Q.Sname FROM Item I INNER JOIN Quotation Q ON I.Itemcode=Q.Itemcode WHERE Q.Quotedprice>0

OR

SELECT I.Itemcode, I.Descr, Q.Sname FROM Item I INNER JOIN Quotation Q ON I.Itemcode=Q.Itemcode WHERE Q.Quotationid IS
NOT NULL;

Assignment 72 : Mandatory

SELECT C.Custid AS "Customer Id", C.Custname AS "Customer Name" FROM Customer C INNER JOIN Empdetails E ON
C.Emailid=E.Emailid WHERE C.Custname=E.Empname;
Assignment 17

SELECT I.Itemcode, I.Descr, I.Category, Q.Quotedprice FROM Item I INNER JOIN Quotation Q ON I.Itemcode=Q.Itemcode WHERE
LOWER(Q.Qstatus)='accepted';

Assignment 74 : Mandatory

SELECT R.Roid, I.Descr, I.Itemtype, R.Unitprice AS "UNITPRICE" FROM Retailstock R INNER JOIN Item I ON R.Itemcode=I.Itemcode
WHERE R.Unitprice>1500;
Assignment 18

SELECT Q.Itemcode, Q.Sname, SUM(O.Qtyordered) AS "TOTALQUANTITY" FROM Orders O INNER JOIN Quotation Q ON
Q.Quotationid=O.Quotationid GROUP BY Q.Itemcode, Q.Sname HAVING SUM(O.Qtyordered)>=100;

Assignment 76 : Mandatory

SELECT I.Itemcode, I.Descr FROM Item I INNER JOIN Quotation Q ON I.Itemcode=Q.Itemcode AND I.Price=Q.Quotedprice GROUP
BY I.Itemcode, I.Descr HAVING COUNT(I.Itemcode)>1;
Assignment 77 : Mandatory

SELECT Q.Sname, Q.Quotationid FROM Quotation Q JOIN Orders O ON Q.Quotationid=O.Quotationid WHERE (Delivereddate-
Orderdate)<=5;

Assignment 85 : Optional

SELECT C.Custname, P.Billamount FROM Customer C JOIN Purchasebill P ON C.Custid=P.Custid WHERE P.Billamount>5000
Assignment 86 : Optional

SELECT RO.Roid, COUNT(1) AS "Number of items" FROM Retailoutlet RO JOIN Retailstock RS ON RO.Roid=RS.Roid GROUP BY
RS.Roid;

OR

SELECT Roid, COUNT(1) AS "Number of items" FROM Retailstock GROUP BY Roid

Exercise 47 : Joins

SELECT S.Saleid, S.Sldate FROM Sale S JOIN Salesman SM ON S.Sid=SM.Sid WHERE SM.Location='London';
Exercise 15

SELECT S1.Sid, S1.Sname, S1.Location FROM Salesman S1 INNER JOIN Salesman S2 ON S1.Location=S2.Location AND
S1.Sid<>S2.Sid

Exercise 49 : Joins

SELECT S1.sname, S2.Saleid FROM salesman S1 LEFT OUTER JOIN sale S2 ON s1.sid=s2.sid;
Exercise 50 : Joins

select A.sid,A.sname,SUM(PRICE*QUANTITY) TAMOUNT,SUM((price*quantity)*DISCOUNT/100) TDISCOUNT FROM SALESMAN A


JOIN SALE B ON A.SID=B.SID JOIN SALEDETAIL C ON B.SALEID=C.SALEID JOIN PRODUCT P ON C.PRODID=P.PRODID GROUP BY
A.SID,A.SNAME ORDER BY 3 DESC,4 DESC;

SELECT S1.sid, S1.sname, SUM(Price*Quantity) as "TAMOUNT", SUM((Price*Quantity)*Discount/100) as "TDISCOUNT"

FROM Salesman S1 JOIN Sale S2 ON S1.sid=S2.sid JOIN saledetails S3 ON S2.saleid=S3.saleid JOIN product P ON
S3.prodid=P.prodid GROUP BY S1.sid, S1.sname ORDER BY 3 DESC, 4 DESC
Exercise 51 : Joins

SELECT S1.Saleid, S1. Prodid, S3. Sid, S3.Sname FROM Saledetail S1 JOIN Sale S2 ON S1.Saleid=S2.Saleid JOIN Salesman S3 ON
s2.Sid=S3.Sid ;

Exercise 17

SELECT S1.Sid, S1.Sname, NVL(SUM(Price*Quantity), 0) TAMOUNT, NVL(SUM((Price*Quantity)*Discount/100), 0) TDISCOUNT


FROM Salesman S1 LEFT OUTER JOIN Sale S2 ON S1.Sid=S2.Sid LEFT OUTER JOIN Saledetail S3 ON S2.Saleid=S3.Saleid LEFT
OUTER JOIN Product P ON S3.Prodid=P.Prodid GROUP BY S1.Sid, S1.Sname
Exercise 53 : Joins

SELECT Location, Category, SUM(Quantity) "Total Quantity" FROM Salesman S1 JOIN Sale S2 ON S1.Sid=S2.Sid JOIN Saledetail
S3 ON S2.Saleid=S3.Saleid JOIN Product P ON S3.Prodid=P.Prodid GROUP BY Location, Category

Assignment 15

SELECT E.Ename, V.Vehiclename FROM Emp E FULL OUTER JOIN Empvehicle EV ON E.Empno=EV.Empno LEFT OUTER JOIN
Vehicle V ON EV.Vehicleid=V.Vehicleid
OR
SELECT E.Ename, V.Vehiclename FROM Emp E LEFT OUTER JOIN Empvehicle EV ON E.Empno=EV.Empno LEFT OUTER JOIN
Vehicle V ON EV.Vehicleid=V.Vehicleid

Exercise 54 : Joins

SELECT E.Ename, E.Dept, NVL(Model, 'Not allocated') MODEL FROM Employee E LEFT OUTER JOIN Computer C ON
E.Compid=C.Compid

Exercise 55 : Joins
SELECT E.Id, E.Ename, E.Dept, NVL(Model, 'NULL') MODEL FROM Employee E FUll OUTER JOIN Computer C ON
E.Compid=C.Compid

Exercise 18

SELECT E.Id, E.Ename, E.Manager AS "MGRID", MG.Ename AS "MGRNAME", C.MODEL AS "E_MODEL", CC.Model As "M_MODEL"
FROM EMPLOYEE E JOIN EMPLOYEE MG ON MG.ID=E.Manager JOIN COMPUTER C ON E.COMPID=C.Compid JOIN COMPUTER CC
ON MG.COMPID=CC.compid

Exercise 57 : Joins

SELECT Sid, Sname FROM Salesman WHERE Sid NOT IN (SELECT Sid FROM Sale)
Exercise 16

SELECT P1.Prodid, P1.Category, P1.Price FROM Product P1 INNER JOIN Product P2 ON P1.Price=P2.Price AND
P1.Category<>P2.Category

Assignment 78 : Mandatory

SELECT NVL(E.Empname, 'No Manager') EMPNAME, I.Category, SUM(RS.Qtyavailable) TOTALQUANTITY FROM Item I INNER
JOIN Retailstock RS ON I.Itemcode=RS.Itemcode INNER JOIN Retailoutlet RO ON RO.Roid=RS.Roid LEFT OUTER JOIN Empdetails E
ON RO.Managerid=E.Empid GROUP BY E.Empname, I.Category
Assignment 79 : Mandatory

SELECT R.Location, C.Custtype, SUM(P.Quantity) AS "TOTALQUANTITY" FROM Retailoutlet R JOIN PurchaseBill P ON


R.Roid=P.Roid JOIN Customer C ON P.Custid=C.Custid JOIN Item I ON P.Itemcode=I.Itemcode WHERE C.Gender='M' AND
I.Itemtype IN ('Apparels','Computer') GROUP BY R.Location, C.Custtype

Assignment 80 : Mandatory

SELECT I.Itemcode, I.Descr, NVL(P.Billamount,'0') AS "BILLAMOUNT", NVL(P.custid,'0') AS "CUSTID" FROM Item I LEFT OUTER
JOIN Purchasebill P ON I.Itemcode=P.Itemcode WHERE I.Itemtype='FMCG'

Assignment 16

SELECT R.Itemcode, I.Descr, NVL(R.Qtyavailable,'N.A.') AS "QTYAVAILABLE" FROM

Item I JOIN Retailstock R ON I.Itemcode=R.Itemcode WHERE R.Roid='R101'


SELECT I.Itemcode, I.Descr, NVL(TO_CHAR(R.Qtyavailable),'N.A.') AS "QTYAVAILABLE" FROM Item I LEFT OUTER JOIN Retailstock
R ON I.Itemcode=R.Itemcode AND R.Roid='R101'

Assignment 82 : Mandatory

SELECT E.Empid, E.Empname, R.Roid, R.Location FROM Retailoutlet R LEFT OUTER JOIN Empdetails E ON E.worksin=R.Roid

Assignment 19

SELECT E1.Empname, E1.Designation, E1.Emailid FROM Empdetails E1 JOIN Empdetails E2 ON E1.Worksin=E2.Worksin WHERE
E2.Empname='George' AND E1.Empname<>E2.Empname
Assignment 20

SELECT C1.Custid, C1.Custname FROM Customer C1 JOIN Customer C2 ON C1.Address=C2.Address AND C1.Custid<>C2.Custid

Assignment 87 :

SELECT I.Itemcode, I.Descr, RO.Location, RS.Qtyavailable FROM ITEM I JOIN Retailstock RS ON I.Itemcode=RS.Itemcode JOIN

Retailoutlet RO ON RO.Roid=RS.Roid WHERE I.Itemtype='Apparels'ional


Assignment 88 : Optinal

SELECT I.Itemcode, I.Descr, NVL(Q.Quotationid,'No quotation received') AS "QUOTATIONID" FROM ITEM I LEFT OUTER JOIN
QUOTATION Q ON I.Itemcode=Q.Itemcode
Assignment 89 : Optional

SELECT I.Itemcode, I.Descr, R.Roid, R.Qtyavailable FROM ITEM I JOIN Retailstock R ON I.Itemcode=R.Itemcode
Assignment 90 : Optional

SELECT I.Descr, I.Itemtype, P.Billamount FROM ITEM I JOIN Purchasebill P ON I.Itemcode=P.Itemcode WHERE P.Roid='R1001'

Assignment 91 : Optional

SELECT C1.Custid, C1.Custname, C1.Custtype FROM Customer C1 JOIN Customer C2 ON C1.Custtype=C2.Custtype

WHERE C2.Custid=2004 AND C1.Custname<>C2.Custname;


Assignment 92 : Optional

SELECT I.Itemtype, I.Descr, NVL(Q.Quotationid,'No quotation received') AS "Available Quotation number" FROM ITEM I LEFT
OUTER JOIN Quotation Q ON I.Itemcode=Q.Itemcode WHERE I.Itemtype In('Computer', 'FMCG')

Exercise 59 : Independent Subquery

SELECT Saleid, Sldate FROM sale WHERE Sldate = (SELECT MAX(Sldate) FROM sale);

SELECT Saleid, Sldate FROM Sale WHERE Sldate IN (SELECT MAX(Sldate) FROM Sale)
Exercise 60 : Independent Subquery

SELECT Sname FROM Salesman WHERE Sid IN (SELECT Sid FROM Sale GROUP BY Sid HAVING COUNT(Saleid)>=2);

Exercise 61 : Independent Subquery

SELECT Prodid, Pdesc FROM Product WHERE Prodid IN (SELECT Prodid FROM Saledetail GROUP BY Prodid HAVING
SUM(Quantity) = (SELECT MIN(SUM(Quantity)) FROM Saledetail GROUP BY Prodid))
Exercise 62 : Independent Subquery

select * from salesman where sid in (select sale.sid from sale inner join saledetail on sale.saleid = saledetail.saleid inner join
product on product.prodid=saledetail.prodid group by sid having sum(saledetail.quantity*product.price*(1-
product.discount/100))>(select avg(sum(saledetail.quantity*product.price*(1-product.discount/100))) from product inner join
saledetail on product.prodid = saledetail.prodid group by saleid));

Exercise 63 : Correlated Subquery

SELECT Prodid, Category, Pdesc, Price FROM Product P1 WHERE Price =


(SELECT MAX(Price) FROM Product P2 WHERE P1.Category=P2.Category);

Exercise 64 : Correlated Subquery

SELECT Sname FROM Salesman SM WHERE NOT EXISTS (SELECT Saleid FROM Sale S WHERE S.Sid=SM.Sid);

Exercise 65 : Correlated Subquery

SELECT Sname FROM Salesman S WHERE EXISTS (SELECT * FROM Sale SA WHERE S.Sid=SA.Sid AND TO_CHAR(SA.Sldate, 'MM-
YY')='06-15')
Exercise 66 : Correlated Subquery

select sid,sname,location from salesman where sid in (select a1.sid from saledetail s1 join product p1 on s1.prodid=p1.prodid
join sale sa on s1.saleid=sa.saleid join salesman a1 on sa.sid=a1.sid group by a1.sid having
sum((price*quantity)*discount/100)>(select avg(sum((price*quantity)*discount/100)) from saledetail s1 join product p1 on
s1.prodid=p1.prodid join sale sa on s1.saleid=sa.saleid join salesman a1 on sa.sid=a1.sid group by a1.sid));

Collaborative Assignment 93

SELECT DISTINCT I.Itemcode, Itemtype, Descr, Category FROM Item I JOIN Purchasebill P ON I.Itemcode=P.Itemcode
Collaborative Assignment 94

SELECT Itemcode, Itemtype, Descr, Category FROM Item WHERE Itemcode IN

(SELECT Itemcode FROM Quotation WHERE Quotedprice =

(SELECT MIn(Quotedprice) FROM Quotation WHERE Qstatus='Rejected'))


Collaborative Assignment 95

SELECT Itemcode, Descr FROM Item WHERE Itemcode IN ( SELECT Itemcode FROM Quotation WHERE Quotedprice = ( SELECT

MAX(Quotedprice) FROM Quotation WHERE Qstatus IN ('Closed', 'Rejected')) AND Qstatus IN ('Closed', 'Rejected'))

Collaborative Assignment 96

SELECT Itemcode, Descr, Price FROM Item WHERE Price =

( SELECT MAX(Price) FROM Item WHERE Price <

(SELECT MAX(Price) FROM Item)

)
Collaborative Assignment 97
Select empid,empname,designation from empdetails where empid in (select managerid from retailoutlet);

Assignment 98 : Mandatory

SELECT Ename,Job FROM Emp E1 WHERE Empno IN

(SELECT Empno FROM Empvehicle E2 WHERE E1.Empno=E2.Empno);


Assignment 99 : Mandatory

SELECT Ename FROM Emp WHERE Sal =

( SELECT MAX(Sal) FROM Emp )

Assignment 100 : Mandatory

SELECT EMPNO,ENAME FROM EMP WHERE EMPNO IN

(SELECT EMPNO FROM EMPVEHICLE WHERE VEHICLEID IN

(SELECT VEHICLEID FROM EMPVEHICLE GROUP BY VEHICLEID HAVING COUNT(1)>1));


Assignment 102 : Mandatory

SELECT I.ITEMCODE,DESCR,QDATE FROM ITEM I JOIN QUOTATION Q ON I.ITEMCODE=Q.ITEMCODE

WHERE Q.QUOTEDPRICE <

(SELECT MAX(QUOTEDPRICE) FROM QUOTATION Q1 WHERE Q.QDATE=Q1.QDATE);


Assignment 103 : Mandatory

SELECT Billid, Itemcode FROM Purchasebill WHERE Billamount <=

(SELECT AVG(Billamount) FROM Purchasebill)

Assignment 104 : Mandatory

SELECT DISTINCT Q.Sname, Q.Itemcode, I.Descr FROM quotation Q JOIN Item I ON Q.Itemcode=I.Itemcode WHERE Quotedprice
<
( SELECT MAX(Quotedprice) FROM Quotation Q1 WHERE Q.Itemcode=Q1.Itemcode and Q.Sname <> Q1.Sname)

Assignment 105 : Mandatory

SELECT EMPID,EMPNAME,DESIGNATION ,SALARY FROM EMPDETAILS E1 WHERE SALARY = (SELECT MAX(SALARY) FROM
EMPDETAILS E2 WHERE E1.DESIGNATION=E2.DESIGNATION);
Assignment 106 : Mandatory

SELECT C.Custid, C.Custname FROM Customer C WHERE NOT EXISTS

(SELECT Custid FROM Purchasebill P WHERE C.Custid=P.Custid)

Assignment 108 : Optional

SELECT Custid, Custname FROM Customer C WHERE EXISTS

(SELECT Custid FROM Purchasebill P WHERE C.Custid=P.Custid)


Assignment 109 : Optional

SELECT Empno, Ename FROM Emp E WHERE Sal >

(SELECT AVG(Sal) FROM Emp E1 WHERE E1.Deptno=E.Deptno )

Assignment 110 : Optional

SELECT E.Empno, V.Vehicleid FROM Emp E JOIN Empvehicle V ON E.Empno=V.Empno WHERE Sal =

(SELECT MAX(Sal) FROM Emp )

You might also like