Saturday, 9 August 2014

DBMS lab queries (MG university)

These were my DBMS queries in the DBMS lab, when I was studying it during my 5th semester. Since this was lying around on my computer, I decided to upload it in case you get stuck with some of the various DATABASE QUERIES. If you have any doubts please let me know.

1)

SQL> set autocommit on;
a)
SQL> CREATE TABLE CLIENT(CNO VARCHAR(6) PRIMARY KEY CHECK(CNO LIKE 'C%'),NAME VARCHAR2(20) NOT NULL,ADDRESS VARCHAR2(30),CITY VARCHAR2(15),PINCODE NUMBER(8),STATE VARCHAR2(15),BALDUE NUMBER(10,2));
Table created.

b)

SQL> CREATE TABLE PRODUCT(PNO VARCHAR2(6) PRIMARY KEY CHECK(PNO LIKE 'P%'),DESCRIPTION VARCHAR2(20) NOT NULL,PROFITPERCENT NUMBER(4,2) NOT NULL,UNITMEASURE VARCHAR2(15) NOT NULL,QTYONHAND NUMBER(8) NOT NULL,RECORDLVL VARCHAR2(15) NOT NULL,SELLPRICE NUMBER(8,2) NOT NULL CHECK(SELLPRICE<>0),COSTPRICE NUMBER(8,2) NOT NULL CHECK(COSTPRICE<>0));

Table created.
c)
SQL> CREATE TABLE SALESMAN(SNO VARCHAR2(6) PRIMARY KEY CHECK(SNO LIKE 'S%'),SNAME VARCHAR2(20) NOT NULL,CITY VARCHAR2(15) NOT NULL,STATE VARCHAR2(15),SELAMT NUMBER(6,2) NOT NULL CHECK(SELAMT<>0),TGTTOGET NUMBER(6,2) NOT NULL CHECK(TGTTOGET<>0),QTYSALE NUMBER(6,2),REMARKS VARCHAR2(60));
Table created.

d)
SQL>  CREATE TABLE SALES_ORDER(ORDERNO VARCHAR2(6) PRIMARY KEY CHECK(ORDERNO LIKE 'O%'), ORDERDATE DATE, CNO VARCHAR2(6) REFERENCES CLIENT(CNO) ON DELETE CASCADE,DELYADDR VARCHAR2(25),DELYTYPE CHAR(1) DEFAULT 'P',SNO VARCHAR2(6) REFERENCES SALESMAN(SNO) ON DELETE CASCADE,DELYDATE DATE,ORDERSTATUS VARCHAR2(10) CHECK(ORDERSTATUS IN('INPROCESS','FULFILLED','BACKORDER','CANCELLED')));

Table created.


SQL> ALTER TABLE SALES_ORDER ADD(CONSTRAINT DELYDATE CHECK(DELYDATE>ORDERDATE));

Table altered.

SQL> ALTER TABLE SALES_ORDER ADD(CONSTRAINT DELYTYPE CHECK(DELYTYPE IN ('P','F')));

Table altered.
e)
SQL> CREATE TABLE SALES_ORDER_DETAILS(ORDERNO VARCHAR2(6) REFERENCES SALES_ORDER ON DELETE CASCADE,PNO VARCHAR2(7) REFERENCES PRODUCT,QTYORDERED NUMBER(8),QTYDISP NUMBER(8),PRODUCTRATE NUMBER(10,2),PRIMARY KEY(ORDERNO,PNO));

Table created.
2)
a)
SQL> INSERT INTO CLIENT VALUES('&CNO','&NAME','&ADDRESS','&CITY',&PINCODE,'&STATE',&BALDUE);
Enter value for cno: C01
Enter value for name: AMRITHA
Enter value for address: ABCD
Enter value for city: COCHIN
Enter value for pincode: 680324
Enter value for state: KERALA
Enter value for baldue: 14000

1 row created.

Commit complete.
SQL> /
Enter value for cno: C02
Enter value for name: MANU
Enter value for address: FEG
Enter value for city: COCHIN
Enter value for pincode: 680324
Enter value for state: KERALA
Enter value for baldue: 0

1 row created.

Commit complete.
SQL> /
Enter value for cno: C03
Enter value for name: ALEN
Enter value for address: GHIJ
Enter value for city: COIMBATORE
Enter value for pincode: 680345
Enter value for state: KARNATAKA
Enter value for baldue: 5000
1 row created.

Commit complete.
SQL> /
Enter value for cno: C04
Enter value for name: AMMU
Enter value for address: KLMN
Enter value for city: PUNE
Enter value for pincode: 680423
Enter value for state: MAHARASHTRA
Enter value for baldue: 500

1 row created.

Commit complete.
SQL> /
Enter value for cno: C05
Enter value for name: MEGHA
Enter value for address: NEWR
Enter value for city: GANDIPURAM
Enter value for pincode: 680321
Enter value for state: KARNATAKA
Enter value for baldue: 0

1 row created.

Commit complete.
b)
SQL> INSERT INTO PRODUCT VALUES('&PNO','&DESCRIPTION',&PROFITPERCENT,'&UNITMEASURE',&QTYONHAND,&REOR
DERLVL,&SELLPRICE,&COSTPRICE);
Enter value for pno: P01
Enter value for description: T-SHIRTS
Enter value for profitpercent: 5
Enter value for unitmeasure: PIECE
Enter value for qtyonhand: 200
Enter value for reorderlvl: 50
Enter value for sellprice: 350
Enter value for costprice: 250

1 row created.

Commit complete.
SQL> /
Enter value for pno: P02
Enter value for description: SHIRTS
Enter value for profitpercent: 6
Enter value for unitmeasure: PIECE
Enter value for qtyonhand: 150
Enter value for reorderlvl: 50
Enter value for sellprice: 500
Enter value for costprice: 350

1 row created.

Commit complete.
SQL> /
Enter value for pno: P03
Enter value for description: COTTON JEANS
Enter value for profitpercent: 5
Enter value for unitmeasure: PIECE
Enter value for qtyonhand: 100
Enter value for reorderlvl: 20
Enter value for sellprice: 750
Enter value for costprice: 500

1 row created.

Commit complete.
SQL> /
Enter value for pno: P04
Enter value for description: TROUSERS
Enter value for profitpercent: 4
Enter value for unitmeasure: PIECE
Enter value for qtyonhand: 500
Enter value for reorderlvl: 20
Enter value for sellprice: 350
Enter value for costprice: 250

1 row created.

Commit complete.
SQL> /
Enter value for pno: P05
Enter value for description: SKIRTS
Enter value for profitpercent: 2.5
Enter value for unitmeasure: PIECE
Enter value for qtyonhand: 50
Enter value for reorderlvl: 30
Enter value for sellprice: 200
Enter value for costprice: 150

1 row created.

Commit complete.
SQL> /
Enter value for pno: P06
Enter value for description: TOPS
Enter value for profitpercent: 3
Enter value for unitmeasure: PIECE
Enter value for qtyonhand: 10
Enter value for reorderlvl: 40
Enter value for sellprice: 700
Enter value for costprice: 300

1 row created.

Commit complete.
c)
SQL> INSERT INTO SALESMAN VALUES('&SNO','&SNAME','&CITY','&STATE',&SELAMT,&TGTTOGET,&QTYSALE,'&REMAR
KS');
Enter value for sno: S01
Enter value for sname: MAHESH
Enter value for city: PUNE
Enter value for state: MAHARASHTRA
Enter value for selamt: 3000
Enter value for tgttoget: 100
Enter value for qtysale: 50
Enter value for remarks: GOOD
1 row created.

Commit complete.
SQL> /
Enter value for sno: S02
Enter value for sname: MANOJ
Enter value for city: COIMBATORE
Enter value for state: KARNATAKA
Enter value for selamt: 3000
Enter value for tgttoget: 500
Enter value for qtysale: 100
Enter value for remarks: BAD

1 row created.

Commit complete.

c)
SQL> INSERT INTO SALESMAN VALUES('&SNO','&SNAME','&CITY','&STATE',&SELAMT,&TGTTOGET,&QTYSALE,'&REMAR
KS');
Enter value for sno: S03
Enter value for sname: TRESSA
Enter value for city: COCHIN
Enter value for state: KERALA
Enter value for selamt: 3000
Enter value for tgttoget: 750
Enter value for qtysale: 100
Enter value for remarks: BAD

1 row created.

Commit complete.
SQL> /
Enter value for sno: S04
Enter value for sname: ANIL
Enter value for city: PUNE
Enter value for state: MAHARASHTRA
Enter value for selamt: 3500
Enter value for tgttoget: 350
Enter value for qtysale: 150
Enter value for remarks: GOOD

1 row created.

Commit complete.
d)
SQL> INSERT INTO SALES_ORDER VALUES('&ORDERNO','&ORDERDATE','&CNO','&DELYADDR','&DELYTYPE','&SNO','&
DELYDATE','&ORDERSTATUS');
Enter value for orderno: O1
Enter value for orderdate: 02-JUN-13
Enter value for cno: C03
Enter value for delyaddr: XXX
Enter value for delytype: F
Enter value for sno: S02
Enter value for delydate: 23-JUL-13
Enter value for orderstatus: FULFILLED

1 row created.

Commit complete.
SQL> /
Enter value for orderno: O2
Enter value for orderdate: 02-MAY-12
Enter value for cno: C02
Enter value for delyaddr: YYY
Enter value for delytype: P
Enter value for sno: S03
Enter value for delydate: 23-JUL-12
Enter value for orderstatus: CANCELLED

1 row created.

Commit complete.
SQL> /
Enter value for orderno: O3
Enter value for orderdate: 20-DEC-11
Enter value for cno: C04
Enter value for delyaddr: ZZZ
Enter value for delytype: P
Enter value for sno: S01
Enter value for delydate: 21-JAN-12
Enter value for orderstatus: FULFILLED

1 row created.

Commit complete.
SQL> /
Enter value for orderno: O4
Enter value for orderdate: 23-JUL-13
Enter value for cno: C01
Enter value for delyaddr: QQQ
Enter value for delytype: F
Enter value for sno: S04
Enter value for delydate: 30-JUL-13
Enter value for orderstatus: INPROCESS

1 row created.

Commit complete.
e)
SQL> INSERT INTO SALES_ORDER_DETAILS VALUES('&ORDERNO','&PNO',&QTYORDERED,&QTYDISP,&PRODUCTRATE);
Enter value for orderno: O3
Enter value for pno: P01
Enter value for qtyordered: 4
Enter value for qtydisp: 4
Enter value for productrate: 525

1 row created.

Commit complete.
SQL> /
Enter value for orderno: O2
Enter value for pno: P01
Enter value for qtyordered: 10
Enter value for qtydisp: 0
Enter value for productrate: 525

1 row created.

Commit complete.
SQL> /
Enter value for orderno: O1
Enter value for pno: P03
Enter value for qtyordered: 2
Enter value for qtydisp: 2
Enter value for productrate: 1050

1 row created.

Commit complete.
SQL> /
Enter value for orderno: O4
Enter value for pno: P04
Enter value for qtyordered: 2
Enter value for qtydisp: 1
Enter value for productrate: 700

1 row created.

Commit complete.
DDL
1)
SQL> ALTER TABLE CLIENT ADD(TELEPHONE NUMBER(10));

Table altered.

2)
SQL> ALTER TABLE CLIENT MODIFY(NAME VARCHAR2(10));

Table altered.
3)
SQL> ALTER TABLE PRODUCT DROP COLUMN RECORDLVL;

Table altered.
4)
SQL> ALTER TABLE CLIENT MODIFY(PINCODE NUMBER(8) NOT NULL);

Table altered.

5)
SQL> ALTER TABLE CLIENT MODIFY(PINCODE NUMBER(8));

Table altered.

DML

1)<HAS> :

SQL> select pno,description,sellprice,costprice from product where profitpercent > 4;

PNO    DESCRIPTION           SELLPRICE  COSTPRICE
------ -------------------- ---------- ----------
P01    T-shirts                    350        250
P02    shirts                      500        350
P03    Cotton Jeans                750        500
2)
SQL> SELECT * FROM SALESMAN WHERE STATE NOT LIKE 'KERALA' AND QTYSALE>50;

SNO    SNAME                CITY            STATE               SELAMT   TGTTOGET    QTYSALE REMARKS
------ -------------------- --------------- --------------- ---------- ---------- ---------- -------
S02    MANOJ                COIMBATORE      KARNATAKA             3000        500        100 BAD
S04    ANIL                 PUNE            MAHARASHTRA           3500        350        150 GOOD



3)<HAS>  :

SQL> select * from client where city like 'cochin';

CNO    NAME       ADDRESS         CITY               PINCODE  STATE               BALDUE  TELEPHONE
------ ---------- ------------------------------ --------------- ---------- --------------- ---------- ----------
C01    Amritha    Abcd                  cochin              680324   Kerala               14000
C02    Manu       feg                      cochin              680324  Kerala                   0


4)
SQL> SELECT * FROM SALESMAN WHERE SNAME LIKE 'M%' OR CITY LIKE '__H%';

SNO    SNAME                CITY            STATE               SELAMT   TGTTOGET    QTYSALE REMARKS
------ -------------------- --------------- --------------- ---------- ---------- ---------- -------
S01    MAHESH               PUNE            MAHARASHTRA           3000        100         50 GOOD
S02    MANOJ                COIMBATORE      KARNATAKA             3000        500        100 BAD

5)
SQL> SELECT * FROM CLIENT WHERE CITY IN('COCHIN','PUNE','GANDIPURAM') AND BALDUE<500;

CNO    NAME       ADDRESS                        CITY               PINCODE STATE               BALDUE  TELEPHONE
------ ---------- ------------------------------ --------------- ---------- --------------- --------
C02    MANU       FEG                            COCHIN              680324 KERALA                   0
C05    MEGHA      NEWR                           GANDIPURAM          680321 KARNATAKA                0

6)
SQL> SELECT DESCRIPTION FROM PRODUCT WHERE SELLPRICE BETWEEN 300 AND 500;

DESCRIPTION
--------------------
T-SHIRTS
SHIRTS
TROUSERS

7)
SQL> SELECT DISTINCT PNO FROM SALES_ORDER_DETAILS WHERE QTYDISP>0;

PNO

P01
P03
P04

8)
SQL> Select description,sellprice*0.15 "new_price" from product where  sellprice>500;

DESCRIPTION           new_price
-------------------- ----------
Cotton Jeans              112.5
tops                        105

9)
SQL> UPDATE PRODUCT SET DESCRIPTION='JEANS' WHERE PNO='P03';

1 row updated.

Commit complete.
SQL> SELECT * FROM PRODUCT;

PNO    DESCRIPTION          PROFITPERCENT UNITMEASURE      QTYONHAND  SELLPRICE  COSTPRICE
------ -------------------- ------------- --------------- ---------- ---------- ----------
P01    T-SHIRTS                         5 PIECE                  200       52.5        250
P02    SHIRTS                           6 PIECE                  150       75         350
P03    JEANS                            5 PIECE                  100      112.5        500
P04    TROUSERS                         4 PIECE                  500       52.5        250
P05    SKIRTS                         2.5 PIECE                   50         30        150
P06    TOPS                             3 PIECE                   10        105        300

6 rows selected.


10)

SQL> update client set baldue=100 where cno='C02';

1 row updated.

Commit complete.

SQL> select * from client;

CNO    NAME       ADDRESS                        CITY               PINCODE   STATE               BALDUE  TELEPHONE

------ ---------- ------------------------------ --------------- ----------  --------------- ---------- ----------
C01    Amritha    Abcd                           cochin              680324 Kerala               14000
C02    Manu       feg                            cochin              680324                      Kerala                 100
C03    Alen       ghij                           Coimbatore          680345 Karnataka             5000
C04    Ammu       klmn                           Pune                680423  Maharashtra            500
C05    Megha      newr                           Gandhipuram         680321        Karnataka                0

12)
SQL> SELECT AVG(SELLPRICE) "AVERAGE PRICE" FROM PRODUCT;

AVERAGE PRICE
-------------
         475

13)
SQL> SELECT MAX(COSTPRICE)"MAXIMUM PRICE",MIN(COSTPRICE)"MINIMUM PRICE" FROM PRODUCT;

MAXIMUM PRICE MINIMUM PRICE
-------------                 -------------
        500                 150

14)
SQL> SELECT COUNT(CNO) "NUMBER OF CLIENTS" FROM CLIENT WHERE STATE NOT LIKE 'KERALA';

NUMBER OF CLIENTS
-----------------
                3

SQL> SELECT PNO,SUM(QTYORDERED) "TOTAL ORDER", SUM(QTYDISP) "TOTAL DISPATCH" FROM
SALES_ORDER_DETAILS GROUP BY PNO HAVING PNO IN(SELECT PNO FROM SALES_ORDER_DETAILS);

PNO    TOTAL ORDER TOTAL DISPATCH
--- ---------------------- -------------------------
P01                   4                                4
P03                   2                                     2
P04                   1                                     2                           



16.)
SQL> select product.pno,product.description,qtydisp*productrate  “Values” from
product,sales_order_details where product.pno=sales_order_details.pno;

PNO    DESCRIPTION          Values
------ -------------------- -------------------
P01    T-shirts                            2100
P01    T-shirts                               0
P03    Jeans                               2100
P04    Trousers                             700

SUB-QUERIES
1)
SQL> SELECT DESCRIPTION FROM PRODUCT WHERE PNO=(SELECT PNO FROM SALES_ORDER_DETAILS WHERE QTYDISP>2);

DESCRIPTION
--------------------
T-SHIRTS

2)
SQL> SELECT PNO,DESCRIPTION FROM PRODUCT WHERE PNO NOT IN (SELECT PNO FROM SALES_ORDER_DETAILS);
PNO    DESCRIPTION
------ --------------------
P02    SHIRTS
P05    SKIRTS
P06    TOPS

3)
SQL>  SELECT * FROM CLIENT WHERE CNO IN(SELECT CNO FROM SALES_ORDER WHERE ORDERNO IN(SELECT ORDERNO
FROM SALES_ORDER_DETAILS WHERE PNO IN(SELECT PNO FROM PRODUCT WHERE DESCRIPTION LIKE 'T-SHIRTS')));

CNO    NAME       ADDRESS                        CITY               PINCODE STATE               BALDUE  TELEPHONE
------ ---------- ------------------------------ --------------- ---------- --------------- --------
C02    MANU       FEG                            COCHIN              680324 KERALA                   0
C04    AMMU       KLMN                           PUNE                680423 MAHARASHTRA            500


4)(wrong)

SQL> SELECT NAME,SNAME,DESCRIPTION FROM CLIENT,SALESMAN,PRODUCT WHERE (CNO IN(SELECT CNO FROM SALES_ORDER WHERE ORDERSTATUS LIKE 'FULFILLED')) AND( PNO IN(SELECT PNO FROM SALES_ORDER_DETAILS WHERE ORDERNO IN (SELECT ORDERNO FROM SALES_ORDER WHERE ORDERSTATUS='FULFILLED'))) AND (SNO IN(SELECT SNO FROM SALES_ORDER WHERE ORDERSTATUS LIKE ‘FULFILLED’));

5)
SQL> SELECT * FROM CLIENT WHERE CNO IN(SELECT CNO FROM SALES_ORDER WHERE ORDERSTATUS='CANCELLED');

CNO    NAME       ADDRESS                        CITY               PINCODE STATE               BALDUE  TELEPHONE
------ ---------- ------------------------------ --------------- ---------- --------------- --------
C02    MANU       FEG                            COCHIN              680324 KERALA                   0


UNION
SQL> SELECT NAME FROM CLIENT WHERE CITY='COCHIN' UNION SELECT SNAME FROM SALESMAN WHERE CITY ='COCHIN';

NAME
--------------------
AMRITHA
MANU
TRESSA

INTERSCTION
SQL> SELECT CNO FROM CLIENT WHERE CITY='COCHIN' INTERSECT SELECT CNO FROM CLIENT WHERE CNO IN (SELECT CNO FROM SALES_ORDER);

CNO
------
C01
C02

MINUS
SQL> SELECT CNO FROM CLIENT MINUS SELECT CNO FROM SALES_ORDER;

CNO
------
C05
JOIN
SQL>SELECT PNO,QTYORDERED FROM PRODUCT,SALES_ORDER_DETAILS WHERE PRODUCT.PNO=SALES_ORDER_DETAILS.PNO;

VIEW
SQL> create view view1 as select orderno,orderdate,orderstatus from sales_order;

View created.

SQL> create view view2 as select pno,qtyordered from sales_order_details;

View created.

INDEX

SQL>create index ind on sales_order_details(order,pno);


Index created.

No comments:

Post a Comment