0% found this document useful (0 votes)
10 views

2CSE DBMS Lab Programs

The document outlines the creation of various database tables related to employees, departments, projects, and their relationships. It includes SQL commands for data manipulation, such as selecting, inserting, updating, and deleting records, as well as displaying specific information about employees and departments. Additionally, it provides examples of queries to calculate averages, totals, and other statistics related to employee salaries and department details.

Uploaded by

23tq1a0516
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

2CSE DBMS Lab Programs

The document outlines the creation of various database tables related to employees, departments, projects, and their relationships. It includes SQL commands for data manipulation, such as selecting, inserting, updating, and deleting records, as well as displaying specific information about employees and departments. Additionally, it provides examples of queries to calculate averages, totals, and other statistics related to employee salaries and department details.

Uploaded by

23tq1a0516
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

CREATION OF TABLES

(1)EMPLOYEE:

CREATE TABLE EMPLOYEE(FNAME VARCHAR2(8),MINIT


VARCHAR2(1),LNAME VARCHAR2(8),SSN NUMBER(10),BDATE
DATE,ADDRESS VARCHAR2(25),SALARY NUMBER(6),SUPERSSN
NUMBER(10));
(2).DEPARTMENT
CREATE TABLE DEPARTMENT(DNAME VARCHAR2(15),DNUMBER
NUMBER(1),MGR_SSN NUMBER(9));

(3)DEPT_LOCATIONS
CREATE TABLE DEPT_LOCATIONS(DNUMBER NUMBER(1),VARCHAR2(9));
(4).PROJECT:

CREATE TABLE PROJECT(PNAME VARCHAR2(15),PNUMBER


NUMBER(2),PLOCATION VARCHAR2(9),PNUM NUMBER(1));
(5).WORKS_ON:

CREATE TABLE WORKS_ON(ESSN NUMBER(9),PNO NUMBER(2),HOURS


FLOAT(3));
(6).DEPENDANT:

CREATE TABLE DEPENDANT(ESSN NUMBER(9),DNAME


VARCHAR2(9),BDATE DATE,RELATIONSHIP VARCHAR2(8));
******************************* LAB CYCLE **********************************

DISPLAY THE DNAMES IN LOWER CASE.

SQL> SELECT LOWER(DNAME) FROM DEPT;

LOWER(DNAME)
--------------
accounting
research
sales
operations

LIST ALL EMPLOYEE NAMES WHO HAVE A NAME EXACTLY 4 CHARACTERS IN LENGTH.

SQL> SELECT ENAME FROM EMP WHERE LENGTH(ENAME)=4;

ENAME
----------
WARD
KING
FORD

FIND ALL EMPLOYEES WHO HAVE NO MANAGER.

SQL> SELECT ENAME FROM EMP WHERE MGR IS NULL;

ENAME
----------
KING

CREATE TEMPORARY EMP TABLE.

SQL> CREATE TABLE EMPDUP AS SELECT * FROM EMP;

Table created.

SQL> DESC EMPDUP;

Name Null? Type


----------------------------------------------------- -------- ----------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)

SQL> SELECT * FROM EMPDUP;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


---- ---------- --------- ---------- --------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-DEC-80 900 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1700 300 30
7521 WARD SALESMAN 7698 22-FEB-81 1350 500 30
7566 JONES MANAGER 7839 02-APR-81 3075 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1350 1400 30
7698 BLAKE MANAGER 7839 01-MAY-81 2950 30
7782 CLARK MANAGER 7839 09-JUN-81 2550 10
7788 SCOTT ANALYST 7566 19-APR-87 3100 20
7839 KING PRESIDENT 17-NOV-81 5100 10
7844 TURNER SALESMAN 7698 08-SEP-81 1600 0 30
7876 ADAMS CLERK 7788 23-MAY-87 1200 20
7900 JAMES CLERK 7698 03-DEC-81 1050 30
7902 FORD ANALYST 7566 03-DEC-81 3100 20
7934 MILLER CLERK 7782 23-JAN-82 1400 10

14 rows selected.

EVALUATE THE EXPRESSION 8*7/2+9-6*2.

SQL> SELECT 8*7/2+9-6*2 FROM DUAL;

8*7/2+9-6*2
-----------
25

CREATE A SAVEPOINT S1.

SQL> SAVEPOINT S1;

Savepoint created.

SQL> DELETE FROM DEPT WHERE DEPTNO=40;

1 row deleted.

SQL> SELECT * FROM DEPT;

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO

ROLLBACK TO SAVEPOINT S1.

SQL> ROLLBACK TO S1;

Rollback complete.

SQL> SELECT * FROM DEPT;

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

DISPLAY EMPLOYEE NAME AND TOTAL REMUNERATION FOR ALL EMPLOYEES.

SQL> SELECT EMPNO, SAL+NVL (COMM,0) TOTALSAL FROM EMP;

EMPNO TOTALSAL
---------- ----------
7369 900
7499 2000
7521 1850
7566 3075
7654 2750
7698 2950
7782 2550
7788 3100
7839 5100
7844 1600
7876 1200
7900 1050
7902 3100
7934 1400

14 rows selected.

DISPLAY EMPNO HEADING WITH EMPLOYEE_NUMBER, ENAME HEADING WITH EMPLOYEE_NAME.

SQL> SELECT EMPNO EMPLOYEE_NUMBER, ENAME EMPLOYEE_NAME FROM EMP;

EMPLOYEE_NUMBER EMPLOYEE_N
--------------- ----------
7369 SMITH
7499 ALLEN
7521 WARD
7566 JONES
7654 MARTIN
7698 BLAKE
7782 CLARK
7788 SCOTT
7839 KING
7844 TURNER
7876 ADAMS
7900 JAMES
7902 FORD
7934 MILLER

14 rows selected.

LIST ALL EMPLOYEE NUMBERS WHOSE COMMISSION IS NULL.

SQL> SELECT EMPNO FROM EMP WHERE COMM IS NULL;

EMPNO
----------
7369
7566
7698
7782
7788
7839
7876
7900
7902
7934
10 rows selected.
DISPLAY THE CURRENT DATE AND TIME OF THE DAY.

SQL> SELECT SYSDATE, TO_CHAR (SYSDATE,'HH:MI:SS') FROM DUAL;

SYSDATE TO_CHAR(
--------- --------
21-JAN-07 02:53:56

FIND ALL EMPLOYEE NAMES WHOSE JOB DOES NOT START WITH M.

SQL> SELECT ENAME, JOB FROM EMP WHERE JOB NOT LIKE 'M%';

ENAME JOB
---------- ---------
SMITH CLERK
ALLEN SALESMAN
WARD SALESMAN
MARTIN SALESMAN
SCOTT ANALYST
KING PRESIDENT
TURNER SALESMAN
ADAMS CLERK
JAMES CLERK
FORD ANALYST
MILLER CLERK

11 rows selected.

MAKE THE CHANGES PERMANENT.

SQL> COMMIT;

Commit complete.

FIND THE HIGHEST SALARY AND COMMISSION IN DEPARTMENT 30.

SQL> SELECT MAX (SAL) MAX_SAL, MAX (COMM) MAX_COMM FROM EMP WHERE DEPTNO = 30;

MAX_SAL MAX_COMM
---------- ----------
2950 1400

LIST ALL EMPLOYEES IN DEPARTMENTS 10 AND 20 ALPHABETICAL ORDER OF NAME.

SQL> SELECT ENAME, DEPTNO FROM EMP WHERE DEPTNO IN(10,20) ORDER BY ENAME;

ENAME DEPTNO
---------- ----------
ADAMS 20
CLARK 10
FORD 20
JONES 20
KING 10
MILLER 10
SCOTT 20
SMITH 20
8 rows selected.
CALCULATE THE NUMBER OF EMPLOYEES IN DEPT 20.

SQL> SELECT COUNT (*) NO_EMP FROM EMP WHERE DEPTNO=20;

NO_EMP
----------
5
ORDER THE OUTPUT IN ASCENDING ORDER OF APPRAISAL DATE.

SQL> SELECT ADD_MONTHS (HIREDATE, 12) APPRAISAL_DATE FROM EMP ORDER BY


ADD_MONTHS (HIREDATE, 12);

APPRAISAL
---------
17-DEC-81
20-FEB-82
22-FEB-82
02-APR-82
01-MAY-82
09-JUN-82
08-SEP-82
28-SEP-82
17-NOV-82
03-DEC-82
03-DEC-82
23-JAN-83
19-APR-88
23-MAY-88

14 rows selected.
CALCULATE THE AVERAGE SALARY OF EACH DEPARTMENT.

SQL> SELECT DEPTNO, ROUND(AVG(SAL)) AVG_SAL FROM EMP GROUP BY DEPTNO;

DEPTNO AVG_SAL
---------- ----------
10 3017
20 2275
30 1667

DISPLAY THE AVERAGE SAL FOR EACH JOB.

SQL> SELECT JOB, ROUND(AVG(SAL+NVL(COMM,0))) FROM EMP GROUP BY JOB;

JOB ROUND(AVG(SAL+NVL(COMM,0)))
--------- ---------------------------
ANALYST 3100
CLERK 1138
MANAGER 2858
PRESIDENT 5100
SALESMAN 2050

DISPLAY ALL EMPLOYEE NAMES WHICH HAVE ‘TH’ OR ‘LL’ IN THEM.

SQL> SELECT ENAME FROM EMP WHERE ENAME LIKE '%LL%' OR ENAME LIKE '%TH%';

ENAME
----------
SMITH
ALLEN
MILLER

FIND 5 CHARACTERS FROM DNAME STARTING AT THE THIRD CHARACTER POSITION.

SQL> SELECT DNAME, SUBSTR (DNAME, 3, 5) FROM DEPT;

DNAME SUBST
-------------- -----
ACCOUNTING COUNT
RESEARCH SEARC
SALES LES
OPERATIONS ERATI

FIND OUT NAMES OF MANAGERS.

SQL> SELECT ENAME FROM EMP WHERE TRIM(JOB)='MANAGER';

ENAME
----------
JONES
BLAKE
CLARK
LIST THE DEPARTMENT NAME OF EACH EMPLOYEE.

SQL> SELECT ENAME, DNAME FROM EMP, DEPT WHERE EMP.DEPTNO=DEPT.DEPTNO;

ENAME DNAME
---------- --------------
SMITH RESEARCH
ALLEN SALES
WARD SALES
JONES RESEARCH
MARTIN SALES
BLAKE SALES
CLARK ACCOUNTING
SCOTT RESEARCH
KING ACCOUNTING
TURNER SALES
ADAMS RESEARCH
JAMES SALES
FORD RESEARCH
MILLER ACCOUNTING

14 rows selected.

FIND EMPLOYEE DETAILS WHO EARN THE MINIMUM SALARY.

SQL> SELECT * FROM EMP WHERE SAL IN (SELECT MIN (SAL) FROM EMP);

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


---- ---------- --------- ---------- --------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-DEC-80 900 20

LIST THE ENAMES AND THEIR SALARY INCREASED BY 20% AND EXPRESSED AS WHOLE NUMBER.

SQL> SELECT ENAME, SAL, ROUND (SAL+SAL*20/100) INC_SAL FROM EMP;

ENAME SAL INC_SAL


---------- ---------- ----------
SMITH 900 1080
ALLEN 1700 2040
WARD 1350 1620
JONES 3075 3690
MARTIN 1350 1620
BLAKE 2950 3540
CLARK 2550 3060
SCOTT 3100 3720
KING 5100 6120
TURNER 1600 1920
ADAMS 1200 1440
JAMES 1050 1260
FORD 3100 3720
MILLER 1400 1680

14 rows selected.

DISPLAY NUMBER OF EMPLOYEES, TOTAL SALARY, MINIMUM SALARY, MAXIMUM SALARY,


AVERAGE SALARY OF EACH DEPARTMENT.

SQL> SELECT COUNT(*),SUM(SAL),MIN(SAL),MAX(SAL),ROUND(AVG(SAL)) FROM EMP GROUP


BY DEPTNO;
COUNT(*) SUM(SAL) MIN(SAL) MAX(SAL) ROUND(AVG(SAL))
---------- ---------- ---------- ---------- ---------------
3 9050 1400 5100 3017
5 11375 900 3100 2275
6 10000 1050 2950 1667
CONVERT THE SYSDATE FROM THE DEFAULT FORMAT (DD-MON-YY) TO NEW DATA PICTURE
(05TH SEPT. ’98).

SQL> SELECT TO_CHAR(SYSDATE,'DDTH MON. ''YY') FROM DUAL;

TO_CHAR(SYSDA
-------------
21ST JAN. '07
DISPLAY THE SYSTEM DATE IN THE FOLLOWING FORMAT.
A) 09/08/2002.
B) 09TH AUG TWO THOUSAND TWO.
C) 09TH AUGUST TWO THOUSAND TWO.

SQL> SELECT TO_CHAR(SYSDATE,'DD/MM/YYYY') FROM DUAL;

TO_CHAR(SY
----------
22/01/2007

SQL> SELECT TO_CHAR(SYSDATE,'DDTH MON YEAR') FROM DUAL;

TO_CHAR(SYSDATE,'DDTHMONYEAR')
---------------------------------------------------
22ND JAN TWO THOUSAND SEVEN

SQL> SELECT TO_CHAR(SYSDATE,'DDTH MONTH YEAR') FROM DUAL;

TO_CHAR(SYSDATE,'DDTHMONTHYEAR')
---------------------------------------------------------
22ND JANUARY TWO THOUSAND SEVEN

DISPLAY EMPLOYEES WHO JOINED IN THE MONTH OF ‘DEC’.

SQL> SELECT * FROM EMP WHERE TO_CHAR(HIREDATE,'MON')='DEC';

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ---------- --------- ---------- ---------- ------
7369 SMITH CLERK 7902 17-DEC-80 900 20
7900 JAMES CLERK 7698 03-DEC-81 1050 30
7902 FORD ANALYST 7566 03-DEC-81 3100 20

LIST EMPLOYEE NAMES HAVING MAX SALARY.

SQL> SELECT ENAME FROM EMP WHERE SAL IN(SELECT MAX(SAL) FROM EMP);

ENAME
----------
KING

LIST THE DEPT NAMES HAVING MAX NUMBER OF EMPLOYEES.

SQL> SELECT DNAME FROM DEPT WHERE DEPTNO = (SELECT DEPTNO FROM EMP GROUP BY
DEPTNO HAVING COUNT(*) = (SELECT MAX(COUNT(*)) FROM EMP GROUP BY DEPTNO));

DNAME
--------------
SALES

LIST DEPT NAMES HAVING MINIMUM NUMBER OF EMPLOYEES.

SQL> SELECT DNAME FROM DEPT WHERE DEPTNO = (SELECT DEPTNO FROM EMP GROUP BY
DEPTNO HAVING COUNT(*) = (SELECT MIN(COUNT(*)) FROM EMP GROUP BY DEPTNO));

DNAME
--------------
ACCOUNTING
LIST DETAILS OF EMPLOYEE MOST RECENTLY HIRED.

SQL> SELECT * FROM EMP WHERE HIREDATE =


2 (SELECT MAX(HIREDATE) FROM EMP);

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ---------- --------- ---------- ---------- ----------
7876 ADAMS CLERK 7788 23-MAY-87 1200 20

LIST EMPLOYEE NAMES, NUMBERS, JOB, AND DEPARTMENT NAMES OF ALL CLERKS.

SQL> SELECT ENAME, EMPNO, JOB, DNAME FROM EMP, DEPT WHERE
2 JOB = 'CLERK' AND EMP.DEPTNO = DEPT.DEPTNO;

ENAME EMPNO JOB DNAME


---------- ---------- --------- --------------
SMITH 7369 CLERK RESEARCH
ADAMS 7876 CLERK RESEARCH
JAMES 7900 CLERK SALES
MILLER 7934 CLERK ACCOUNTING

LIST NAMES OF EMPLOYEES WORKING UNDER MANAGER OF LOWEST PAID EMPLOYEE.

SQL> SELECT ENAME FROM EMP WHERE MGR =


2 (SELECT EMPNO FROM EMP WHERE SAL =
3 (SELECT MIN(SAL) FROM EMP WHERE JOB = 'MANAGER'));

ENAME
----------
MILLER

CREATE A VIEW V1 WITH THE COLUMNS EMPNO, SAL, AND DEPTNO FROM EMP TABLE.

SQL> CREATE VIEW V1(EMPNO, SAL, DEPTNO) AS SELECT


2 EMPNO,SAL,DEPTNO FROM EMP;

View created.
SQL> SELECT * FROM V1;

EMPNO SAL DEPTNO


---------- ---------- ----------
7369 900 20
7499 1700 30
7521 1350 30
7566 3075 20
7654 1350 30
7698 2950 30
7782 2550 10
7788 3100 20
7839 5100 10
7844 1600 30
7876 1200 20
7900 1050 30
7902 3100 20
7934 1400 10

14 rows selected.
ADD A NEW COLUMN NAMED NUMBER OF EMPLOYEES (NOE) WITH DATATYPE OF NUMBER AND
LENGTH 2.

SQL> ALTER TABLE EMP ADD (NOE NUMBER (2));

Table altered.

SQL> DESC EMP;


Name Null? Type
------------------------------------------------- -------- --------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
NOE NUMBER(6)
INCREASE THE SIZE OF NUMBER OF EMPLOYEES (NOE) TO 6.

SQL> ALTER TABLE EMP MODIFY (NOE NUMBER (6));

Table altered.

SQL> DESC EMP;


Name Null? Type
------------------------------------------------- -------- --------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
NOE NUMBER(6)

DISPLAY EMPLOYEE DETAILS WHOSE NAME DOES NOT START WITH ‘S’ USING ASCII
FUNCTION.

SQL> SELECT ENAME FROM EMP WHERE ASCII(ENAME)!=83;

ENAME
----------
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
KING
TURNER
ADAMS
JAMES
FORD
MILLER

12 rows selected.
LIST MAX SAL, MIN SAL AND AVG SAL OF DEPTS 10, 30.

SQL> SELECT MAX(SAL) MAXIMUM, MIN(SAL) MINIMUM, AVG(SAL) AVERAGE


2 FROM EMP GROUP BY DEPTNO HAVING DEPTNO IN (10, 30);

MAXIMUM MINIMUM AVERAGE


---------- ---------- ----------
5100 1400 3016.66667
2950 1050 1666.66667

FIND ALL EMPLOYEES WHO HAVE A MANAGER.

SQL> SELECT * FROM EMP WHERE MGR IS NOT NULL;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ---------- --------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-DEC-80 1000 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1700 300 30
7521 WARD SALESMAN 7698 22-FEB-81 1350 500 30
7566 JONES MANAGER 7839 02-APR-81 3075 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1350 1400 30
7698 BLAKE MANAGER 7839 01-MAY-81 2950 30
7782 CLARK MANAGER 7839 09-JUN-81 2550 10
7788 SCOTT ANALYST 7566 19-APR-87 3100 20
7844 TURNER SALESMAN 7698 08-SEP-81 1600 0 30
7876 ADAMS CLERK 7788 23-MAY-87 1200 20
7900 JAMES CLERK 7698 03-DEC-81 1050 30
7902 FORD ANALYST 7566 03-DEC-81 3100 20
7934 MILLER CLERK 7782 23-JAN-82 1400 10

13 rows selected.

LIST EMPLOYEE NAMES WITH LENGTH OF THE NAME SORTED ON LENGTH.

SQL> SELECT ENAME, LENGTH(ENAME) LEN FROM EMP ORDER BY LEN;

ENAME LEN
---------- ----------
WARD 4
KING 4
FORD 4
SMITH 5
JONES 5
BLAKE 5
SCOTT 5
JAMES 5
ADAMS 5
CLARK 5
ALLEN 5
MARTIN 6
TURNER 6
MILLER 6

14 rows selected.

LIST MGR AND THE NO. OF EMPLOYEES REPORT TO THEM IN SORTED ORDER.

SQL> SELECT DISTINCT MGR, COUNT(*) NUM FROM EMP WHERE MGR IS
2 NOT NULL GROUP BY MGR ORDER BY NUM;

MGR NUM
---------- ----------
7782 1
7788 1
7902 1
7566 2
7839 3
7698 5

6 rows selected.

LIST EMPLOYEE NAMES APPENDING ‘SRI’ TO BEGINNING AND ‘GARU’ TO THE END.

SQL> SELECT 'SRI '||ENAME||' GARU' ENAME FROM EMP;

ENAME
-------------------
SRI SMITH GARU
SRI ALLEN GARU
SRI WARD GARU
SRI JONES GARU
SRI MARTIN GARU
SRI BLAKE GARU
SRI CLARK GARU
SRI SCOTT GARU
SRI KING GARU
SRI TURNER GARU
SRI ADAMS GARU
SRI JAMES GARU
SRI FORD GARU
SRI MILLER GARU

14 rows selected.

LIST EMPLOYEE NAMES WITH ALL CAPITAL LETTERS, SMALL LETTERS & FIRST LETTER ONLY
AS CAPITAL.

SQL> SELECT UPPER(ENAME) CAPITAL, LOWER(ENAME) SMALL,


2 INITCAP(ENAME) INITIALCAP FROM EMP;

CAPITAL SMALL INITIALCAP


---------- ---------- ----------
SMITH smith Smith
ALLEN allen Allen
WARD ward Ward
JONES jones Jones
MARTIN martin Martin
BLAKE blake Blake
CLARK clark Clark
SCOTT scott Scott
KING king King
TURNER turner Turner
ADAMS adams Adams
JAMES james James
FORD ford Ford
MILLER miller Miller

14 rows selected.

LIST ALL EMPLOYEES WHO REPORTS TO 7839.

SQL> SELECT * FROM EMP WHERE MGR = 7839;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ---------- --------- ---------- ---------- ----------
7566 JONES MANAGER 7839 02-APR-81 3075 20
7698 BLAKE MANAGER 7839 01-MAY-81 2950 30
7782 CLARK MANAGER 7839 09-JUN-81 2550 10

LIST NUMBER OF EMPLOYEES JOINED YEAR WISE.

SQL> SELECT TO_CHAR(HIREDATE,'YYYY') YEAR, COUNT(EMPNO) FROM EMP


2 GROUP BY TO_CHAR(HIREDATE,'YYYY');

YEAR COUNT(EMPNO)
---- ------------
1980 1
1981 10
1982 1
1987 2

LIST EMPLOYEE NAMES & YEAR OF JOINING IN WORDS.

SQL> SELECT ENAME, TO_CHAR(HIREDATE,'YEAR') YEAR_OF_JOINING FROM EMP;

ENAME YEAR_OF_JOINING
---------- ------------------------------------------
SMITH NINETEEN EIGHTY
ALLEN NINETEEN EIGHTY-ONE
WARD NINETEEN EIGHTY-ONE
JONES NINETEEN EIGHTY-ONE
MARTIN NINETEEN EIGHTY-ONE
BLAKE NINETEEN EIGHTY-ONE
CLARK NINETEEN EIGHTY-ONE
SCOTT NINETEEN EIGHTY-SEVEN
KING NINETEEN EIGHTY-ONE
TURNER NINETEEN EIGHTY-ONE
ADAMS NINETEEN EIGHTY-SEVEN
JAMES NINETEEN EIGHTY-ONE
FORD NINETEEN EIGHTY-ONE
MILLER NINETEEN EIGHTY-TWO

14 rows selected.

LIST EMPLOYEE NAMES WHOSE STARTING LETTER IS ‘A’.


SQL> SELECT ENAME FROM EMP WHERE ENAME LIKE 'A%';

ENAME
----------
ALLEN
ADAMS

DISPLAY EMPLOYEE NUMBER, TOTAL SALARY OF AN EMPLOYEE.

SQL> SELECT EMPNO, SAL+NVL(COMM,0) TOT_SAL FROM EMP;

EMPNO TOT_SAL
---------- ----------
7369 900
7499 2000
7521 1850
7566 3075
7654 2750
7698 2950
7782 2550
7788 3100
7839 5100
7844 1600
7876 1200
7900 1050
7902 3100
7934 1400

14 rows selected.

DISPLAY TOTAL NUMBER OF EMPLOYEES IN EMP TABLE.

SQL> SELECT COUNT(*) TOTAL FROM EMP;

TOTAL
----------
14

DISPLAY TODAY’S DATE, DAY BEFORE YESTERDAY’S DATE & DAY AFTER TOMORROW’S DATE.

SQL> SELECT SYSDATE TODAY, SYSDATE-2 DAYB4YES, SYSDATE+2 DAYAFTERTO FROM DUAL;

TODAY DAYB4YES DAYAFTERT


--------- --------- ---------
18-FEB-07 16-FEB-07 20-FEB-07

LIST MGRS NAMES AND THEIR J.DATES COMPLETELY SPELLED IN ALPHABETICAL ORDER OF
NAMES.

DISPLAY THE TIME & DATE AFTER TOMORROW’S DATE.


SQL> SELECT TO_CHAR(SYSDATE,'HH:MI:SS') TIME, SYSDATE+2 FROM DUAL;

TIME SYSDATE+2
-------- ---------
09:50:38 20-FEB-07

LIST EMPLOYEE NAMES, JOB & SALARY WITH 5 HYPHENS IN BETWEEN.

SQL> SELECT ENAME||'-----'||JOB||'-----'||SAL EMPDETAILS FROM EMP;

EMPDETAILS
---------------------------------------------------------------------
SMITH-----CLERK-----900
ALLEN-----SALESMAN-----1700
WARD-----SALESMAN-----1350
JONES-----MANAGER-----3075
MARTIN-----SALESMAN-----1350
BLAKE-----MANAGER-----2950
CLARK-----MANAGER-----2550
SCOTT-----ANALYST-----3100
KING-----PRESIDENT-----5100
TURNER-----SALESMAN-----1600
ADAMS-----CLERK-----1200
JAMES-----CLERK-----1050
FORD-----ANALYST-----3100
MILLER-----CLERK-----1400

14 rows selected.
DBMS LAB MAUAL
BRANCH: CSE
8. UNION: This query is used to display the combined rows of two different queries, which are
having the same structure, without duplicate rows.

Syntax: SELECT field_1,field_2,....... FROM relation_1 WHERE (Condition)


UNION SELECT field_1,field_2,....... FROM relation_2 WHERE
(Condition);
Example:
SQL> SELECT * FROM STUDENT;
SNO SNAME
----- -------
1 kumar
2 ravi
3 ramu

SQL> SELECT * FROM STD;


SNO SNAME
----- -------
3 ramu
5 lalitha
9 devi
1 kumar

SQL> SELECT * FROM student UNION SELECT * FROM std;


SNO SNAME
---- ------
1 kumar
2 ravi
3 ramu
5 lalitha
9 devi
9. INTERSET: This query is used to display the common rows of two different queries, which
are having the same structure, and to display a selected set of fields out of them.
Syntax: SELECT field_1,field_2,.. FROM relation_1 WHERE
(Condition) INTERSECT SELECT field_1,field_2,.. FROM relation_2
WHERE(Condition);
Example : SQL> SELECT * FROM student INTERSECT SELECT * FROM std;
SNO SNAME
---- -------
1 Kumar

10. MINUS: This query is used to display all the rows in relation_1,which are not having in the
relation_2.
Syntax: SELECT field_1,field_2,......FROM relation_1
WHERE(Condition) MINUS SELECT field_1,field_2,.....
FROM relation_2 WHERE(Conditon);

SQL> SELECT * FROM student MINUS SELECT * FROM std;


SNO SNAME
---- -------
2 RAVI
3 RAMU

constraints available in ORACLE:

1. NOT NULL: When a column is defined as NOTNULL, then that column becomes a
mandatory column. It implies that a value must be entered into the column if the record is to
be accepted for storage in the table.
Syntax:
CREATE TABLE Table_Name(column_name data_type(size) NOT NULL, );
Example:
CREATE TABLE student (sno NUMBER(3)NOT NULL, name CHAR(10));
2. UNIQUE: The purpose of a unique key is to ensure that information in the column(s) is
unique i.e. a value entered in column(s) defined in the unique constraint must not be repeated
across the column(s). A table may have many unique keys.
Syntax:
CREATE TABLE Table_Name(column_name data_type(size) UNIQUE, ….);
Example:
CREATE TABLE student (sno NUMBER(3) UNIQUE, name CHAR(10));

3. CHECK: Specifies a condition that each row in the table must satisfy. To satisfy the
constraint, each row in the table must make the condition either TRUE or unknown (due to a
null).
Syntax:
CREATE TABLE Table_Name(column_name data_type(size) CHECK(logical
expression), ….);
Example: CREATE TABLE student (sno NUMBER (3), name CHAR(10),class
CHAR(5),CHECK(class IN(‘CSE’,’CAD’,’VLSI’));

4. PRIMARY KEY: A field which is used to identify a record uniquely. A column or


combination of columns can be created as primary key, which can be used as a reference
from other tables. A table contains primary key is known as Master Table.
 It must uniquely identify each record in a table.
 It must contain unique values.
 It cannot be a null field.
 It cannot be multi port field.
 It should contain a minimum no. of fields necessary to be called unique.
Syntax:
CREATE TABLE Table_Name(column_name data_type(size) PRIMARY KEY, ….);
Example:
CREATE TABLE faculty (fcode NUMBER(3) PRIMARY KEY, fname
CHAR(10));

5. FOREIGN KEY: It is a table level constraint. We cannot add this at column level. To
reference any primary key column from other table this constraint can be used. The table in
which the foreign key is defined is called a detail table. The table that defines the primary key
and is referenced by the foreign key is called the master table.
Syntax: CREATE TABLE Table_Name(column_name data_type(size)
FOREIGN KEY(column_name) REFERENCES table_name);
Example:
CREATE TABLE subject (scode NUMBER (3) PRIMARY KEY,
subname CHAR(10),fcode NUMBER(3),
FOREIGN KEY(fcode) REFERENCE faculty );

Defining integrity constraints in the alter table command:

Syntax: ALTER TABLE Table_Name ADD PRIMARY KEY (column_name);


Example: ALTER TABLE student ADD PRIMARY KEY (sno);
(Or)
Syntax: ALTER TABLE table_name ADD CONSTRAINT constraint_name
PRIMARY KEY(colname)
Example: ALTER TABLE student ADD CONSTRAINT SN PRIMARY KEY(SNO)

Dropping integrity constraints in the alter table command:


Syntax: ALTER TABLE Table_Name DROP constraint_name;
Example: ALTER TABLE student DROP PRIMARY KEY;

(or)

Syntax: ALTER TABLE student DROP CONSTRAINT constraint_name;


Example: ALTER TABLE student DROP CONSTRAINT SN;

3) Queries using Aggregate functions (COUNT, SUM, AVG, MAX and MIN),
GROUP BY, HAVING and Creation and dropping of Views.

Aggregative operators: In addition to simply retrieving data, we often want to perform some
computation or summarization. SQL allows the use of arithmetic expressions. We now
consider a powerful class of constructs for computing aggregate values such as MIN and
SUM.
1. Count: COUNT following by a column name returns the count of tuple in that column. If
DISTINCT keyword is used then it will return only the count of unique tuple in the column.
Otherwise, it will return count of all the tuples (including duplicates) count (*) indicates all the
tuples of the column.
Syntax: COUNT (Column name)
Example: SELECT COUNT (Sal) FROM emp;

2. SUM: SUM followed by a column name returns the sum of all the values in that column.
Syntax: SUM (Column name)
Example: SELECT SUM (Sal) From emp;

3. AVG: AVG followed by a column name returns the average value of that column values.
Syntax: AVG (n1,n2..)
Example: Select AVG(10, 15, 30) FROM DUAL;
4. MAX: MAX followed by a column name returns the maximum value of that column.
Syntax: MAX (Column name)
Example: SELECT MAX (Sal) FROM emp;
SQL> select deptno,max(sal) from emp group by deptno;

DEPTNO MAX(SAL)
------ --------
10 5000
20 3000
30 2850

SQL> select deptno,max(sal) from emp group by deptno having


max(sal)<3000;

DEPTNO MAX(SAL)
----- --------
30 2850
5. MIN: MIN followed by column name returns the minimum value of that column.
Syntax: MIN (Column name)
Example: SELECT MIN (Sal) FROM emp;

SQL>select deptno,min(sal) from emp group by deptno having


min(sal)>1000;

DEPTNO MIN(SAL)
----- --------
10 1300

VIEW: In SQL, a view is a virtual table based on the result-set of an SQL statement.
A view contains rows and columns, just like a real table. The fields in a view are fields
from one or more real tables in the database.
You can add SQL functions, WHERE, and JOIN statements to a view and present the
data as if the data were coming from one single table.
A view is a virtual table, which consists of a set of columns from one or more tables. It
is similar to a table but it doest not store in the database. View is a query stored as an object.
Syntax: CREATE VIEW view_name AS SELECT set of fields FROM relation_name
WHERE (Condition)
1. Example:
SQL>CREATE VIEW employee AS SELECT empno,ename,job FROM EMP
WHERE job = ‘clerk’;
View created.
SQL> SELECT * FROM EMPLOYEE;
EMPNO ENAME JOB
---- ------ -------
7369 SMITH CLERK
7876 ADAMS CLERK
7900 JAMES CLERK
7934 MILLER CLERK

2.Example:
CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName
FROM Products
WHERE Discontinued=No

DROP VIEW: This query is used to delete a view , which has been already created.
Syntax: DROP VIEW View_name;
Example : SQL> DROP VIEW EMPLOYEE;
View dropped

2. String functions:
Concat: CONCAT returns char1 concatenated with char2. Both char1 and char2 can be any
of the datatypes
SQL>SELECT CONCAT(‘ORACLE’,’CORPORATION’)FROM DUAL;
ORACLECORPORATION

Lpad: LPAD returns expr1, left-padded to length n characters with the sequence of
characters in expr2.
SQL>SELECT LPAD(‘ORACLE’,15,’*’)FROM DUAL;
*********ORACLE

Rpad: RPAD returns expr1, right-padded to length n characters with expr2, replicated as
many times as necessary.
SQL>SELECT RPAD (‘ORACLE’,15,’*’)FROM DUAL;
ORACLE*********

Ltrim: Returns a character expression after removing leading blanks.


SQL>SELECT LTRIM(‘SSMITHSS’,’S’)FROM DUAL;
MITHSS

Rtrim: Returns a character string after truncating all trailing blanks


SQL>SELECT RTRIM(‘SSMITHSS’,’S’)FROM DUAL;
SSMITH

Lower: Returns a character expression after converting uppercase character data to


lowercase.
SQL>SELECT LOWER(‘DBMS’)FROM DUAL;
dbms

Upper: Returns a character expression with lowercase character data converted to


uppercase
SQL>SELECT UPPER(‘dbms’)FROM DUAL;
DBMS
Length: Returns the number of characters, rather than the number of bytes, of the given
string expression, excluding trailing blanks.
SQL>SELECT LENGTH(‘DATABASE’)FROM DUAL;
8
Substr: Returns part of a character, binary, text, or image expression.
SQL>SELECT SUBSTR(‘ABCDEFGHIJ’3,4)FROM DUAL;
CDEF

Instr: The INSTR functions search string for substring. The function returns an integer
indicating the position of the character in string that is the first character of this occurrence.
SQL>SELECT INSTR('CORPORATE FLOOR','OR',3,2)FROM DUAL;
14

3. Date functions:
Sysdate:
SQL>SELECT SYSDATE FROM DUAL;
29-DEC-08
next_day:
SQL>SELECT NEXT_DAY(SYSDATE,’WED’)FROM DUAL;
05-JAN-09
add_months:
SQL>SELECT ADD_MONTHS(SYSDATE,2)FROM DUAL;
28-FEB-09
last_day:
SQL>SELECT LAST_DAY(SYSDATE)FROM DUAL;
31-DEC-08
months_between:
SQL>SELECT MONTHS_BETWEEN(SYSDATE,HIREDATE)FROM EMP;
4
Least:
SQL>SELECT LEAST('10-JAN-07','12-OCT-07')FROM DUAL;
10-JAN-07
Greatest:
SQL>SELECT GREATEST('10-JAN-07','12-OCT-07')FROM DUAL;
10-JAN-07
Trunc:
SQL>SELECT TRUNC(SYSDATE,'DAY')FROM DUAL;
28-DEC-08
Round:
SQL>SELECT ROUND(SYSDATE,'DAY')FROM DUAL;
28-DEC-08
to_char:
SQL> select to_char(sysdate, "dd\mm\yy") from dual;
24-mar-05.
to_date:
SQL> select to_date(sysdate, "dd\mm\yy") from dual;
24-mar-o5.

Simple queries:
1. Write a query to retrieve the details of all employees working in the company.

A.SQL> select * from employee;


FNAME M LNAME SSN BDATE ADDRESS S
SALARY SUPERSSN DNO
--------------- - --------------- --------- --------- ------------------------------ - ---------- --------- ----------
John B Smith 123456789 09-JAN-65 731 fondren, Houston, TX M
30000 333445555 5
Franklin T Wong 333445555 08-DEC-55 638 Voss, Houston, TX M
40000 888665555 5
Alicia J Zelaya 999887777 19-JUL-68 3321 Castle, Spring, TX F
25000 987654321 4
Jennifer S Wallace 987654321 20-JUN-41 291 Berry, Bellaire, TX F
43000 888665555 4
Ramesh K Narayan 666884444 15-SEP-62 975, Fire Oak, Humble, TX M
38000 333445555 5
Joyce A English 453453453 31-JUL-72 6531 Rice, Houston, TX F
25000 333445555 5
Ahmad V Jabbar 987987987 29-MAR-69 980 Dallas, Houston, TX M
25000 987654321 4
James E Borg 888665555 10-NOV-37 450 Stone, Houston, TX M
55000 1

8 rows selected.

2. Write a query to retrieve the names and salaries of all employees.

A.SQL> select fname, salary from employee;

FNAME SALARY
--------------- ----------
John 30000
Franklin 40000
Alicia 25000
Jennifer 43000
Ramesh 38000
Joyce 25000
Ahmad 25000
James 55000

8 rows selected.

3. Write a query to retrieve all salary values.

A. 1* select salary, ssn from employee;


SQL> /

SALARY SSN
---------- ---------
30000 123456789
40000 333445555
25000 999887777
43000 987654321
38000 666884444
25000 453453453
25000 987987987
55000 888665555

8 rows selected.

4. Write a query to retrieve distinct salary values.


A.SQL> select distinct salary from employee;

SALARY
----------
25000
30000
38000
40000
43000
55000

6 rows selected.

5. Write a query to show resulting salaries if every employee working in department 5 is


given a 10 percent raise.
A.
1* select salary, salary+.1*salary "Inc.salary", ssn from employee where dno=5;
SQL>

SALARY Inc.salary SSN


---------- ---------- ---------
30000 33000 123456789
40000 44000 333445555
38000 41800 666884444
25000 27500 453453453

6. Write a query to retrieve birth date and address of the employee(s) whose name is ‘John B
Smith’.
A.SQL> select bdate, address from employee where fname='John'and minit='B' and
lname='Smith';

BDATE ADDRESS
--------- ------------------------------
09-JAN-65 731 fondren, Houston, TX

7. Write a query to retrieve all employees whose address is in Houston, Texas.


A.1* select * from employee where address like '%Houston, TX'
SQL> /
FNAME M LNAME SSN BDATE ADDRESS S SALARY
SUPERSSN DNO
--------------- - --------------- --------- --------- ------------------------------ - ---------- --------- ----------
John B Smith 123456789 09-JAN-65 731 fondren, Houston, TX M 30000
333445555 5
Franklin T Wong 333445555 08-DEC-55 638 Voss, Houston, TX M 40000
888665555 5
Joyce A English 453453453 31-JUL-72 6531 Rice, Houston, TX F 25000
333445555 5
Ahmad V Jabbar 987987987 29-MAR-69 980 Dallas, Houston, TX M
25000 987654321 4
James E Borg 888665555 10-NOV-37 450 Stone, Houston, TX M 55000
1

8. Write a query to retrieve all employees who were born during the 1950s
A.SQL> select * from employee where bdate like '%5_';

FNAME M LNAME SSN BDATE ADDRESS S SALARY


SUPERSSN DNO
--------------- - --------------- --------- --------- ------------------------------ - ---------- --------- ----------
Franklin T Wong 333445555 08-DEC-55 638 Voss, Houston, TX M 40000
888665555 5

9. Write a query to retrieve all employees whose salary is between $30,000 and $40,000.
A.SQL> select * from employee where salary between 30000 and 40000;

FNAME M LNAME SSN BDATE ADDRESS S SALARY


SUPERSSN DNO
--------------- - --------------- --------- --------- ------------------------------ - ---------- --------- ----------
John B Smith 123456789 09-JAN-65 731 fondren, Houston, TX M 30000
333445555 5
Franklin T Wong 333445555 08-DEC-55 638 Voss, Houston, TX M 40000
888665555 5
Ramesh K Narayan 666884444 15-SEP-62 975, Fire Oak, Humble, TX M
38000 333445555 5

Write a query to retrieve names and salaries of employees in the descending order of their
salaries
A. 1* select fname,salary from employee order by salary desc
SQL> /

FNAME SALARY
--------------- ----------
James 55000
Jennifer 43000
Franklin 40000
Ramesh 38000
John 30000
Alicia 25000
Joyce 25000
Ahmad 25000

8 rows selected.

10. Write a query to retrieve the names of all employees who do not have supervisors.
SQL> select fname from employee where superssn is null;

FNAME
---------------
James

EXP-III Multi-table queries (JOIN OPERATIONS)


1. Write a query to retrieve name and address of all employees who work for the
‘Research’ department.
FNAME ADDRESS
--------------- ------------------------------
John 731 fondren, Houston, TX
Joyce 6531 Rice, Houston, TX
Ramesh 975, Fire Oak, Humble, TX
Franklin 638 Voss, Houston, TX

2. Write a query to retrieve employee’s first and last name and first and last name of his
or her immediate supervisor.
SQL>select e1.fname,e1.lname,e2.fname "supervisor fname",e2.lname "supervisor lname" from
employee e1,employee e2 where e1.superssn=e2.ssn

FNAME LNAME supervisor fnam supervisor lnam


--------------- --------------- --------------- ---------------
John Smith Franklin Wong
Ramesh Narayan Franklin Wong
Joyce English Franklin Wong
Franklin Wong James Borg
Jennifer Wallace James Borg
Alicia Zelaya Jennifer Wallace
Ahmad Jabbar Jennifer Wallace

OR
(USING OUTER JOIN )
SQL>select e1.fname ,e1.lname, e2.fname "supervisor fname", e2.lname "supervisor lname"
from employee e1,employee e2 where e1.superssn= e2.ssn(+)

FNAME LNAME supervisor fnam supervisor lnam


--------------- --------------- --------------- ---------------
John Smith Franklin Wong
Ramesh Narayan Franklin Wong
Joyce English Franklin Wong
Franklin Wong James Borg
Jennifer Wallace James Borg
Alicia Zelaya Jennifer Wallace
Ahmad Jabbar Jennifer Wallace
James Borg
8 rows selected.

NOTE: + is specified in above using ‘outer join’ to an attribute in join condition where we
don’t have null value.
Ex: ssn don’t have null value but superssn has. So, I gave (+) to ssn.

3. Find the sum of the salaries of all employees, the maximum salary, the minimum
salary and the average salary.
SQL> select sum(salary),max(salary),min(salary),avg(salary) from employee

SUM(SALARY) MAX(SALARY) MIN(SALARY) AVG(SALARY)


----------- ----------- ----------- -----------
281000 55000 25000 35125

4. Find the sum of the salaries of all employees, the maximum salary, the minimum
salary and the average salary of all employees of the ‘Research’ department.
SQL>select sum(salary),max(salary),min(salary),avg(salary) from employee e,department d
where d.dname='Research' and d.dnumber=e.dno

SALARY) MAX(SALARY) MIN(SALARY) AVG(SALARY)


------- ----------- ----------- -----------
133000 40000 25000 33250

5. Count the number of employees working in the ‘Research’ department.


SQL>select count(*) from employee e,department d where d.dname='Research' and
d.dnumber=e.dno

COUNT(*)
---------
4
6. For each department, retrieve the department number, the number of employees in the
department and their average salary.

SQL>select dno,count(dno),avg(salary) from employee group by dno

DNO COUNT(DNO) AVG(SALARY)


--------- ---------- -----------
1 1 55000
4 3 31000
5 4 33250 count(*) also works

7. For each project, retrieve the project number, Project name and the number of
employees who work on that project.
SQL>select pno,pname,count(pno) "Employees working" from project p,works_on w where
p.pnumber=w.pno group by pno,pname

PNO PNAME Employees working


--------- --------------- -----------------
1 ProductX 2
2 ProductY 3
3 ProductZ 2
10 Computerization 3
20 Reorganization 3
30 Newbenefits 3

6 rows selected.
8. For each project on which more than two employees work, retrieve the project number,
project name and the number of employees who work on the project.
SQL>select pno,pname,count(pno) from project p,works_on w where p.pnumber=w.pno group
by pno,pname having count(pno)>2

PNO PNAME COUNT(PNO)


--------- --------------- ----------
2 ProductY 3
10 Computerization 3
20 Reorganization 3
30 Newbenefits 3

Nested queries

1. For each department that has more than two employees, retrieve the department
number and the number of its employees who are making more than or equal to
$30,000.
A . SQL> select dno,dname,count(*) from employee e,department d where
e.dno=d.dnumber and salary>=30000 and dno in( select e2.dno
from employee e2 group by e2.dno having count(*) >2) group by dno,dname
OUTPUT:
DNO DNAME COUNT(*)
---------- --------------- ----------
4 Administration 1
5 Research 3

2. Write a nested query to retrieve the names of employees who have no dependents.
SQL> select fname from employee e1 where e1.ssn not in(select essn from dependant d
where e1.ssn=d.essn)
OUTPUT:
FNAME
---------------
Alicia
Ramesh
Joyce
Ahmad
James

3. Write a nested query to list the names of managers who have at least one dependent.
A . SQL> select fname from employee,department where mgrssn=ssn and exists(
select * from dependant where mgrssn=essn)

OUTPUT:
FNAME
---------------
Franklin
Jennifer

4. Write a nested query to retrieve the names of all employees who have two or more
dependents.
A: SQL>
select fname from employee where ssn in( select essn from dependant where
essn=ssn group by(essn) having count(*)>2)
OUTPUT:
FNAME
---------------
John
Franklin

5. Write a nested query to retrieve the SSNs of all employees who work on project
number 1, 2 or 3.
A: SQL>
select ssn from employee where ssn in( select distinct essn from works_on
where pno in(1,2,3))

OUTPUT:
SSN
---------
123456789
333445555
453453453
666884444
NOTE: ‘distinct’ may or mayn’t be present
6. Write a nested query to retrieve the names of all employees whose salary is greater
than the salary of all the employees in department 5.
A: SQL> select fname from employee where salary > all (select salary from employee
where dno=5)
OUTPUT:
FNAME
---------------
Jennifer
James

Set Oriented Operations

1. SELECT * FROM student UNION SELECT * FROM std;

SNO SNAME
---- ------
1 kumar
2 ravi
3 ramu
5 lalitha
9 devi

2. SELECT * FROM student UNIONALL SELECT * FROM std;

SNO SNAME
---- ------
1 kumar
2 ravi
3 ramu
5 lalitha
9 devi
3. SQL> SELECT * FROM student INTERSECT SELECT * FROM std;

SNO SNAME
---- -------
1 Kumar

4. SELECT * FROM student MINUS SELECT * FROM std;

SNO SNAME
---- -------
2 RAVI
3 RAMU

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy