Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- EXP 5:
- 1. CREATE TABLE DEPOSIT WITH COLUMNS ACCNO NUMBER(3), NAME VARCHAR2(10), BANME CHAR(2), BALANCE NUMBER(6), LDATE DATE.
- SQL> CREATE TABLE deposit(accno NUMBER(3),name VARCHAR(10),bname CHAR(2),balance NUMBER(6),ldate DATE);
- 2. CREATE TABLE LOAN WITH COLUMNS LOANNO NUMBER(3), NAME VARCHAR2(10), BNAME CHAR(2), AMOUNT NUMBER(3), LLDATE DATE
- SQL> CREATE TABLE loan(loanno NUMBER(3),name VARCHAR(10),bname CHAR(2),amount NUMBER(3),lldate DATE);
- 3. INSERT DATA TO DEPOSIT AND LOAN TABLES
- SQL> INSERT INTO deposit VALUES(101,'varun','b1',25000,'01-Aug-23');
- SQL> INSERT INTO deposit VALUES(102,'gokul','b2',20000,'04-mar-13');
- SQL> INSERT INTO deposit VALUES(103,'rai','b1',30000,'05-dec-19');
- SQL> INSERT INTO deposit VALUES(104,'ramesh','b4',1500,'07-jan-22');
- SQL> INSERT INTO deposit VALUES(105,'vansh','b1',15000,'08-feb-22');
- SQL> INSERT INTO loan VALUES(101,'varun','b1',240,'06-mar-23');
- SQL> INSERT INTO loan VALUES(102,'vajid','b2',200,'23-mar-22');
- SQL> SELECT * FROM deposit;
- SQL> SELECT * FROM loan;
- 4. UPDATE BALANCE OF DEPOSIT TABLE BY adding 10 % AS interest TO the BALANCE FOR LDATE(LAST DATE OF TRANSACTION) prior TO 1-Jan-14
- SQL> UPDATE deposit SET balance = (balance*(10/100))+balance WHERE ldate<'01-jan-14';
- SQL> SELECT * FROM deposit;
- 5. UPDATE LAST DATE OF TRANSACTION FOR DEPOSIT AS ’24-may-15’ FOR ACCNO 104
- SQL> UPDATE deposit SET ldate = '24-may-15' WHERE accno = 104;
- SQL> SELECT * FROM deposit;
- 6. CONVERT ALL FIRST characters alone IN NAME TO UPPER CASE IN DEPOSIT AND LOAN TABLES.
- SQL> SELECT initcap(name) FROM deposit;
- SQL> SELECT initcap(name) FROM loan;
- 7. Display the ACCNO AND FIRST three characters OF NAME IN DEPOSIT TABLE.
- SQL> SELECT accno,substr(name,1,3) FROM deposit;
- 8. Display ALL details OF depositors whose LAST DATE OF TRANSACTION exceeds 1 YEAR.
- SQL> SELECT * FROM deposit WHERE ldate<'02-aug-22';
- 9. UPDATE LDATE FOR ACCNO 103 TO include TIME also.
- SQL> UPDATE deposit SET ldate = to_date('30-NOV-2013 15:30', 'DD-MON-YYYY HH24:MI') WHERE accno =103;
- 10. Find the NUMBER OF account holders IN branch B1 HAVING BALANCE > 10000.
- SQL> SELECT COUNT(accno) FROM deposit WHERE balance > 10000 AND bname='b1';
- 11. Find the average balance FOR each branch.
- SQL> SELECT bname,avg(balance) FROM deposit GROUP BY bname;
- 12. Sort the DEPOSIT TABLE IN ascending ORDER OF BALANCE.
- SQL> SELECT * FROM deposit ORDER BY balance;
- 13. Sort the LOAN TABLE IN descending ORDER OF NAME.
- SQL> SELECT * FROM loan ORDER BY name DESC;
- 14. Display the average, maximum AND SUM OF balances OF depositors FOR branch B2.
- SQL> SELECT avg(balance),MAX(balance),SUM(balance) FROM deposit WHERE bname ='b2';
- 15. INSERT a NEW ROW IN deposit TABLE FOR ACCNO 106.
- SQL> INSERT INTO deposit VALUES(106,'won','b3',10000,'22-apr-20');
- 16. DELETE the tuple FOR ACCNO 106.
- SQL> DELETE deposit WHERE accno =106;
- SQL> SELECT * FROM deposit;
- 17. CREATE a copy DEPOSIT1 OF DEPOSIT TABLE.
- SQL> CREATE TABLE deposit1 AS SELECT * FROM deposit;
- 18. SELECT DISTINCT names FROM DEPOSIT AND LOAN (USE UNION)
- SQL> SELECT name FROM deposit UNION SELECT name FROM loan;
- 19. SELECT ALL names FROM DEPOSIT AND LOAN (USE UNION ALL)
- SQL> SELECT name FROM deposit UNION ALL SELECT name FROM loan;
- 20. SELECT names OF customers HAVING BOTH deposit AND loan (USE INTERSECT)
- SQL> SELECT name FROM deposit INTERSECT SELECT name FROM loan;
- 21. SELECT names OF customers who have deposit but no loan taken (USE MINUS)
- SQL> SELECT name FROM deposit minus SELECT name FROM loan;
- EXP 6:
- 1. WRITE SQL queries TO implement NATURAL JOIN, INNER JOIN, RIGHT OUTER JOIN, LEFT OUTER JOIN AND FULL OUTER JOIN operations.
- SQL> CREATE TABLE orderr(orderid NUMBER(10),customerid NUMBER(3),orderdate DATE);
- SQL> CREATE TABLE customer(customerid NUMBER(3),customername VARCHAR(20),contactname VARCHAR(20),country VARCHAR(10));
- SQL> INSERT INTO orderr
- 2 SELECT 10308,2,'18-sep-1996' FROM dual
- 3 UNION ALL
- 4 SELECT 10309,37,'19-sep-1996' FROM dual
- 5 UNION ALL
- 6 SELECT 10310,77,'20-sep-1996' FROM dual;
- SQL> SELECT * FROM orderr;
- SQL> INSERT INTO customer
- 2 SELECT 1,'Alfreds Futterkiste','Maria Anders','Germany' FROM dual
- 3 UNION ALL
- 4 SELECT 2,'Ana Trujillo','Ana Trujillo','Mexico' FROM dual
- 5 UNION ALL
- 6 SELECT 3,'Antonio','Antonio Moreno','Mexico' FROM dual;
- SQL> SELECT * FROM orderr NATURAL JOIN customer;
- CUSTOMERID ORDERID ORDERDATE CUSTOMERNAME CONTACTNAME COUNTRY
- ---------- ---------- --------- -------------------- -------------------- ----------
- 2 10308 18-SEP-96 Ana Trujillo Ana Trujillo Mexico
- SQL> SELECT orderr.orderid,customer.customername,orderr.orderdate FROM orderr INNER JOIN customer ON orderr.customerid=customer.customerid;
- SQL> SELECT * FROM orderr RIGHT OUTER JOIN customer ON orderr.customerid=customer.customerid;
- SQL> SELECT orderr.customerid,customer.contactname,orderr.orderid FROM orderr LEFT OUTER JOIN customer ON orderr.customerid=customer.customerid;
- SQL> SELECT orderr.customerid,customer.contactname,orderr.orderid FROM orderr FULL OUTER JOIN customer ON orderr.customerid=customer.customerid;
- 2. WRITE SQL queries TO implement Nested queries.
- SQL> SELECT customerid,orderid FROM orderr WHERE customerid IN (SELECT customerid FROM customer);
- SQL> SELECT customerid,orderid FROM orderr WHERE customerid NOT IN (SELECT customerid FROM customer);
- SQL> SELECT customerid,orderid FROM orderr WHERE orderid > ALL (SELECT customerid FROM customer );
- SQL> SELECT customerid,orderid FROM orderr WHERE orderid < any (SELECT customerid FROM customer );
- 3. WRITE SQL queries TO implement HAVING clause.
- SQL> SELECT COUNTRY, COUNT() AS CUSTOMER_COUNT FROM customer GROUP BY COUNTRY HAVING COUNT() > 1;
- SQL> SELECT COUNTRY, COUNT() AS CUSTOMER_COUNT FROM customer GROUP BY COUNTRY HAVING COUNT() > 0 ORDER BY country DESC;
- EXP 7:
- a) CREATE the following TABLES
- SQL> CREATE TABLE empl(eno NUMBER(4),name VARCHAR(20),desgn VARCHAR(12),stree CHAR(2),city CHAR(2),mngrno NUMBER(5));
- SQL> INSERT INTO empl
- 2 SELECT 100,'LEELA','SUPDT','S1','C1',100 FROM DUAL
- 3 UNION ALL
- 4 SELECT 101,'RAJAN','SALESMAN','S2','C1',101 FROM DUAL
- 5 UNION ALL
- 6 SELECT 102,'JOS','SALESMAN','S1','C2',101 FROM DUAL
- 7 UNION ALL
- 8 SELECT 103,'ANIL','SYSADM','S3','C1',103 FROM DUAL
- 9 UNION ALL
- 10 SELECT 104,'KUMAR','PROGRAMMER','S3','C1',103 FROM DUAL
- 11 UNION ALL
- 12 SELECT 105,'MEENA','CLERK','S2','C1',101 FROM DUAL
- 13 UNION ALL
- 14 SELECT 106,'ANUP','CLERK','S1','C2',100 FROM DUAL
- 15 UNION ALL
- 16 SELECT 107,'USHA','PROGRAMMER','S2','C2',103 FROM DUAL;
- SQL> SELECT * FROM EMPL;
- SQL> CREATE TABLE works(eno NUMBER(4),cname VARCHAR(20),salary NUMBER(7));
- SQL> INSERT INTO works
- 2 SELECT 100,'ABC COMPANY',10000 FROM DUAL
- 3 UNION ALL
- 4 SELECT 101,'PQR ASSOCIATES',22000 FROM DUAL
- 5 UNION ALL
- 6 SELECT 102,'POR ASSOCIATES',19000 FROM DUAL;
- SQL> SELECT * FROM WORKS;
- SQL> CREATE TABLE company(cname VARCHAR(20),city CHAR(4));
- SQL> INSERT INTO company
- 2 SELECT 'ABC COMPANY','C1' FROM dual
- 3 UNION ALL
- 4 SELECT 'PQR ASSOCIATES','C2' FROM DUAL;
- SQL> SELECT * FROM COMPANY;
- b) Display the names OF employees who are managers.
- SQL> SELECT name FROM empl WHERE eno=mngrno;
- c) How many persons WORK UNDER ANIL.
- SQL> SELECT COUNT(*) FROM EMPL WHERE MNGRNO = (SELECT ENO FROM EMPL WHERE NAME = 'ANIL');
- d) Find the employee name, designation OF the employee getting maximum salary.
- SQL> SELECT empl.name,empl.desgn FROM empl WHERE eno =(SELECT eno FROM works WHERE salary=(SELECT MAX(salary) FROM works));
- e) Find the company IN which Meena works.
- SQL> SELECT cname FROM works WHERE eno =(SELECT eno FROM empl WHERE name ='MEENA');
- f) Display employees who are managers.
- SQL> SELECT name FROM empl WHERE eno IN(SELECT mngrno FROM empl);
- g) Find ALL employees who earn more than the average salary OF ALL employees OF their company.
- SQL> SELECT name FROM empl WHERE(SELECT salary FROM works WHERE eno = empl.eno)>(SELECT avg(salary) FROM works WHERE cname=(SELECT cname FROM works WHERE eno=empl.eno));
- h) Find the employees working IN ABC Company.
- SQL> SELECT name FROM empl WHERE eno IN(SELECT eno FROM works WHERE cname='ABC COMPANY');
- i) Find ALL employees who earn more than each employee IN ABC Company.
- SQL> SELECT name FROM empl WHERE eno IN(SELECT eno FROM works WHERE salary >ALL(SELECT salary FROM works WHERE cname='ABC COMPANY'));
- j) Find the names, street AND city OF ALL employees who WORK FOR PQR ASSOCIATES AND earn more than 10000.
- SQL> SELECT name,stree,city FROM empl WHERE eno IN(SELECT eno FROM works WHERE cname='PQR ASSOCIATES' AND salary>10000);
- k) Find the company HAVING maximum NUMBER OF employees
- SQL> SELECT cname FROM (SELECT w.cname, COUNT(e.eno) AS emp_count FROM works w JOIN empl e ON w.eno = e.eno GROUP BY w.cname ORDER BY emp_count DESC)WHERE ROWNUM = 1;
- l) Find ALL employees who live IN the same cities AS their mangers.
- SQL> SELECT NAME FROM EMPL WHERE CITY IN(SELECT CITY FROM EMPL WHERE ENO = MNGRNO);
- m) Find ALL employees who live IN the same city AND same street AS do their managers.
- SQL> SELECT NAME FROM EMPL WHERE CITY IN(SELECT CITY FROM EMPL WHERE ENO = MNGRNO) AND STREE IN(SELECT STREE FROM EMPL WHERE ENO=MNGRNO);
- EXP 8:
- SQL> CREATE TABLE orders (
- 2 order_id INT PRIMARY KEY,
- 3 customer_id INT,
- 4 order_date DATE,
- 5 total_amount DECIMAL(10, 2),
- 6 STATUS VARCHAR(20)
- 7 );
- SQL> INSERT INTO orders (order_id, customer_id, order_date, total_amount, STATUS)
- 2 SELECT 1, 101, TO_DATE('2023-09-01', 'YYYY-MM-DD'), 125.50, 'Completed' FROM dual
- 3 UNION ALL
- 4 SELECT 2, 102, TO_DATE('2023-09-02', 'YYYY-MM-DD'), 75.25, 'Shipped' FROM dual
- 5 UNION ALL
- 6 SELECT 3, 103, TO_DATE('2023-09-03', 'YYYY-MM-DD'), 210.75, 'Pending' FROM dual
- 7 UNION ALL
- 8 SELECT 4, 104, TO_DATE('2023-09-04', 'YYYY-MM-DD'), 50.00, 'Completed' FROM dual
- 9 UNION ALL
- 10 SELECT 5, 105, TO_DATE('2023-09-05', 'YYYY-MM-DD'), 320.99, 'Shipped' FROM dual;
- SQL> CREATE VIEW customer_orders AS
- 2 SELECT customer_id, order_date, total_amount
- 3 FROM orders
- 4 WHERE STATUS = 'Completed';
- SQL> SELECT * FROM customer_orders;
- SQL> CREATE OR REPLACE VIEW customer_orders AS
- 2 SELECT customer_id, order_date, total_amount
- 3 FROM orders
- 4 WHERE STATUS = 'Shipped';
- SQL> SELECT * FROM customer_orders;
- SQL> DROP VIEW customer_orders;
- ***SQL> SELECT * FROM customer_orders;
- SELECT * FROM customer_orders
- *
- ERROR at line 1:
- ORA-00942: TABLE OR VIEW does NOT exist***
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement