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

Select Distinct From Teacher : Retrieve All Rows Without Duplicate

The document contains SQL queries that retrieve data from a TEACHER table. It selects distinct rows to remove duplicates, orders the results by last name in ascending and descending order, creates a new STUDENT table from the TEACHER table, and inserts data into a BOY table from the TEACHER table.

Uploaded by

Krishna Mallik
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views

Select Distinct From Teacher : Retrieve All Rows Without Duplicate

The document contains SQL queries that retrieve data from a TEACHER table. It selects distinct rows to remove duplicates, orders the results by last name in ascending and descending order, creates a new STUDENT table from the TEACHER table, and inserts data into a BOY table from the TEACHER table.

Uploaded by

Krishna Mallik
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 14

RETRIEVE ALL ROWS WITHOUT DUPLICATE SELECT DISTINCT * FROM TEACHER; T_NO F_NAME L_NAME SALARY SUPERVISOR BIRTHDATE

TITLE ---- ---------- ---------- --------- ----------------------- --------------1 BRIJ BHUSHAN 4000 AMIT 18-JUL-85 PROGRAMMER 2 SEEMANT KUMAR 5000 ANEETA 14-MAR-84 DEVELOPER 3 JATIN SINGH 6520 K.RAM 12-DEC-88 TESTING 4 AJISH KOSHY 5000 UMESH 12-DEC-88 TESTING 5 SONU JAISWAL 6550 UMESH 18-JAN-85 TESTING 6 DAIDEEP GUPTA 5000 X 02-JAN-85 TESTING 7 DAIDEEP SENGUPTA 5000 X 02-JAN-85 TESTING 8 DAIDEEP SHARMA 5000 X 02-JAN-85 TESTING 8 JAIDEEP SENGUPTA 5000 AASHISH 08-JAN-85 PRINCIPAL 9 JAIDEEP SHARMA 5000 AASHISH 08-JAN-85 PRINCIPAL 10 JOLLY SENGUPTA 5000 HEMA 22-JAN-85 CLASSTEACHER 11 UMESH SINGH 2500 BRIJ 11-SEP-03 CLASSTEACHER 12 ANEETA SINGH 2500 JATIN 11-SEP-03 DEVELOPER 13 K.RAM VISHKARMA 2500 AJISH 11-SEP-03 HEADTEACHER JOININGDA --------10-JAN-02 11-FEB-02 12-DEC-03 30-DEC-94 10-DEC-02 02-JAN-99 02-JAN-99 02-JAN-99 02-MAR-98 02-MAR-98 02-FEB-97 01-AUG-99 01-AUG-99 01-AUG-99

RETRIEVE ALL ROWS WITHOUT DUPLICATE OF FIRST_NAME OF TEACHER SQL> SELECT DISTINCT F_NAME 2 FROM TEACHER; F_NAME ---------AJISH

ANEETA BRIJ DAIDEEP JAIDEEP JATIN JOLLY K.RAM SEEMANT SONU UMESH RETRIEVE ALL ROWS IN ASCENDING ORDER SELECT DISTINCT * FROM TEACHER ORDER BY L_NAME; T_NO F_NAME L_NAME SALARY SUPERVISOR BIRTHDATE TITLE ---- ---------- ---------- --------- ----------------------- --------------1 BRIJ BHUSHAN 4000 AMIT 18-JUL-85 PROGRAMMER 6 DAIDEEP GUPTA 5000 X 02-JAN-85 TESTING 5 SONU JAISWAL 6550 UMESH 18-JAN-85 TESTING 4 AJISH KOSHY 5000 UMESH 12-DEC-88 TESTING 2 SEEMANT KUMAR 5000 ANEETA 14-MAR-84 DEVELOPER 7 DAIDEEP SENGUPTA 5000 X 02-JAN-85 TESTING 8 JAIDEEP SENGUPTA 5000 AASHISH 08-JAN-85 PRINCIPAL 10 JOLLY SENGUPTA 5000 HEMA 22-JAN-85 CLASSTEACHER 8 DAIDEEP SHARMA 5000 X 02-JAN-85 TESTING 9 JAIDEEP SHARMA 5000 AASHISH 08-JAN-85 PRINCIPAL 12 ANEETA SINGH 2500 JATIN 11-SEP-03 DEVELOPER 3 JATIN SINGH 6520 K.RAM 12-DEC-88 TESTING 11 UMESH SINGH 2500 BRIJ 11-SEP-03 CLASSTEACHER JOININGDA --------10-JAN-02 02-JAN-99 10-DEC-02 30-DEC-94 11-FEB-02 02-JAN-99 02-MAR-98 02-FEB-97 02-JAN-99 02-MAR-98 01-AUG-99 12-DEC-03 01-AUG-99

13 K.RAM VISHKARMA 11-SEP-03 HEADTEACHER

2500 AJISH

01-AUG-99

RETRIEVE ALL ROWS IN DESCENDING ORDER SELECT DISTINCT * FROM TEACHER ORDER BY L_NAME DESC; T_NO F_NAME L_NAME SALARY SUPERVISOR BIRTHDATE TITLE ---- ---------- ---------- --------- ----------------------- --------------13 K.RAM VISHKARMA 2500 AJISH 11-SEP-03 HEADTEACHER 3 JATIN SINGH 6520 K.RAM 12-DEC-88 TESTING 11 UMESH SINGH 2500 BRIJ 11-SEP-03 CLASSTEACHER 12 ANEETA SINGH 2500 JATIN 11-SEP-03 DEVELOPER 8 DAIDEEP SHARMA 5000 X 02-JAN-85 TESTING 9 JAIDEEP SHARMA 5000 AASHISH 08-JAN-85 PRINCIPAL 7 DAIDEEP SENGUPTA 5000 X 02-JAN-85 TESTING 8 JAIDEEP SENGUPTA 5000 AASHISH 08-JAN-85 PRINCIPAL 10 JOLLY SENGUPTA 5000 HEMA 22-JAN-85 CLASSTEACHER 2 SEEMANT KUMAR 5000 ANEETA 14-MAR-84 DEVELOPER 4 AJISH KOSHY 5000 UMESH 12-DEC-88 TESTING 5 SONU JAISWAL 6550 UMESH 18-JAN-85 TESTING 6 DAIDEEP GUPTA 5000 X 02-JAN-85 TESTING 1 BRIJ BHUSHAN 4000 AMIT 18-JUL-85 PROGRAMMER JOININGDA --------01-AUG-99 12-DEC-03 01-AUG-99 01-AUG-99 02-JAN-99 02-MAR-98 02-JAN-99 02-MAR-98 02-FEB-97 11-FEB-02 30-DEC-94 10-DEC-02 02-JAN-99 10-JAN-02

CREATING A TABLE FROM A TABLE CREATE TABLE STUDENT (T_NO,F_NAME,SALARY,BRANCH,ADM_DATE,B_DATE,COURSE) AS SELECT T_NO,F_NAME,SALARY,SUPERVISOR,JOININGDATE,BIRTHDATE,TITLE FROM TEACHER Table created. SELECT * FROM STUDENT; T_NO F_NAME SALARY BRANCH COURSE ----- ---------- --------- ----------------------------1 BRIJ 4000 AMIT PROGRAMMER 2 SEEMANT 5000 ANEETA DEVELOPER 3 JATIN 6520 K.RAM TESTING 4 AJISH 5000 UMESH TESTING 5 SONU 6550 UMESH TESTING 6 DAIDEEP 5000 X TESTING 7 DAIDEEP 5000 X TESTING 8 DAIDEEP 5000 X TESTING 8 JAIDEEP 5000 AASHISH PRINCIPAL 9 JAIDEEP 5000 AASHISH PRINCIPAL 9 JAIDEEP 5000 AASHISH PRINCIPAL 10 JOLLY 5000 HEMA CLASSTEACHER 11 UMESH 2500 BRIJ CLASSTEACHER 12 ANEETA 2500 JATIN DEVELOPER 13 K.RAM 2500 AJISH HEADTEACHER ADM_DATE B_DATE

--------- --------10-JAN-02 18-JUL-85 11-FEB-02 14-MAR-84 12-DEC-03 12-DEC-88 30-DEC-94 12-DEC-88 10-DEC-02 18-JAN-85 02-JAN-99 02-JAN-85 02-JAN-99 02-JAN-85 02-JAN-99 02-JAN-85 02-MAR-98 08-JAN-85 02-MAR-98 08-JAN-85 02-MAR-98 08-JAN-85 02-FEB-97 22-JAN-85 01-AUG-99 11-SEP-03 01-AUG-99 11-SEP-03 01-AUG-99 11-SEP-03

INSERT DATA INTO A TABLE FROM ANOTHER TABLE 1 INSERT INTO BOY 2 SELECT F_NAME 3* FROM TEACHER; 15 rows created. SQL> SELECT * FROM BOY; NAME --------------BRIJ SEEMANT JATIN AJISH SONU DAIDEEP DAIDEEP DAIDEEP JAIDEEP JAIDEEP JAIDEEP JOLLY UMESH ANEETA K.RAM 15 rows selected.

RETRIEVE ALL ROWS WITHOUT DUPLICATE SELECT DISTINCT * FROM TEACHER; T_NO F_NAME L_NAME SALARY SUPERVISOR JOININGDA BIRTHDATE TITLE ---- ---------- ---------- --------- --------------- ----------------- --------------1 BRIJ BHUSHAN 4000 AMIT 10-JAN-02 18-JUL-85 PROGRAMMER

2 SEEMANT KUMAR 14-MAR-84 DEVELOPER 3 JATIN SINGH 12-DEC-88 TESTING 4 AJISH KOSHY 12-DEC-88 TESTING 5 SONU JAISWAL 18-JAN-85 TESTING 6 DAIDEEP GUPTA 02-JAN-85 TESTING 7 DAIDEEP SENGUPTA 02-JAN-85 TESTING 8 DAIDEEP SHARMA 02-JAN-85 TESTING 8 JAIDEEP SENGUPTA 08-JAN-85 PRINCIPAL 9 JAIDEEP SHARMA 08-JAN-85 PRINCIPAL 10 JOLLY SENGUPTA 22-JAN-85 CLASSTEACHER 11 UMESH SINGH 11-SEP-03 CLASSTEACHER 12 ANEETA SINGH 11-SEP-03 DEVELOPER 13 K.RAM VISHKARMA 11-SEP-03 HEADTEACHER

5000 ANEETA 6520 K.RAM 5000 UMESH 6550 UMESH 5000 X 5000 X 5000 X 5000 AASHISH 5000 AASHISH 5000 HEMA 2500 BRIJ 2500 JATIN 2500 AJISH

11-FEB-02 12-DEC-03 30-DEC-94 10-DEC-02 02-JAN-99 02-JAN-99 02-JAN-99 02-MAR-98 02-MAR-98 02-FEB-97 01-AUG-99 01-AUG-99 01-AUG-99

RETRIEVE ALL ROWS WITHOUT DUPLICATE OF FIRST_NAME OF TEACHER SQL> SELECT DISTINCT F_NAME 2 FROM TEACHER; F_NAME ---------AJISH ANEETA BRIJ DAIDEEP JAIDEEP JATIN JOLLY K.RAM SEEMANT SONU UMESH

RETRIEVE ALL ROWS IN ASCENDING ORDER SELECT DISTINCT * FROM TEACHER ORDER BY L_NAME; T_NO F_NAME L_NAME SALARY SUPERVISOR BIRTHDATE TITLE ---- ---------- ---------- --------- ----------------------- --------------1 BRIJ BHUSHAN 4000 AMIT 18-JUL-85 PROGRAMMER 6 DAIDEEP GUPTA 5000 X 02-JAN-85 TESTING 5 SONU JAISWAL 6550 UMESH 18-JAN-85 TESTING 4 AJISH KOSHY 5000 UMESH 12-DEC-88 TESTING 2 SEEMANT KUMAR 5000 ANEETA 14-MAR-84 DEVELOPER 7 DAIDEEP SENGUPTA 5000 X 02-JAN-85 TESTING 8 JAIDEEP SENGUPTA 5000 AASHISH 08-JAN-85 PRINCIPAL 10 JOLLY SENGUPTA 5000 HEMA 22-JAN-85 CLASSTEACHER 8 DAIDEEP SHARMA 5000 X 02-JAN-85 TESTING 9 JAIDEEP SHARMA 5000 AASHISH 08-JAN-85 PRINCIPAL 12 ANEETA SINGH 2500 JATIN 11-SEP-03 DEVELOPER 3 JATIN SINGH 6520 K.RAM 12-DEC-88 TESTING 11 UMESH SINGH 2500 BRIJ 11-SEP-03 CLASSTEACHER 13 K.RAM VISHKARMA 2500 AJISH 11-SEP-03 HEADTEACHER RETRIEVE ALL ROWS IN DESCENDING ORDER SELECT DISTINCT * FROM TEACHER ORDER BY L_NAME DESC; JOININGDA --------10-JAN-02 02-JAN-99 10-DEC-02 30-DEC-94 11-FEB-02 02-JAN-99 02-MAR-98 02-FEB-97 02-JAN-99 02-MAR-98 01-AUG-99 12-DEC-03 01-AUG-99 01-AUG-99

T_NO F_NAME L_NAME SALARY SUPERVISOR BIRTHDATE TITLE ---- ---------- ---------- --------- ----------------------- --------------13 K.RAM VISHKARMA 2500 AJISH 11-SEP-03 HEADTEACHER 3 JATIN SINGH 6520 K.RAM 12-DEC-88 TESTING 11 UMESH SINGH 2500 BRIJ 11-SEP-03 CLASSTEACHER 12 ANEETA SINGH 2500 JATIN 11-SEP-03 DEVELOPER 8 DAIDEEP SHARMA 5000 X 02-JAN-85 TESTING 9 JAIDEEP SHARMA 5000 AASHISH 08-JAN-85 PRINCIPAL 7 DAIDEEP SENGUPTA 5000 X 02-JAN-85 TESTING 8 JAIDEEP SENGUPTA 5000 AASHISH 08-JAN-85 PRINCIPAL 10 JOLLY SENGUPTA 5000 HEMA 22-JAN-85 CLASSTEACHER 2 SEEMANT KUMAR 5000 ANEETA 14-MAR-84 DEVELOPER 4 AJISH KOSHY 5000 UMESH 12-DEC-88 TESTING 5 SONU JAISWAL 6550 UMESH 18-JAN-85 TESTING 6 DAIDEEP GUPTA 5000 X 02-JAN-85 TESTING 1 BRIJ BHUSHAN 4000 AMIT 18-JUL-85 PROGRAMMER

JOININGDA --------01-AUG-99 12-DEC-03 01-AUG-99 01-AUG-99 02-JAN-99 02-MAR-98 02-JAN-99 02-MAR-98 02-FEB-97 11-FEB-02 30-DEC-94 10-DEC-02 02-JAN-99 10-JAN-02

CREATING A TABLE FROM A TABLE CREATE TABLE STUDENT (T_NO,F_NAME,SALARY,BRANCH,ADM_DATE,B_DATE,COURSE) AS SELECT T_NO,F_NAME,SALARY,SUPERVISOR,JOININGDATE,BIRTHDATE,TITLE FROM TEACHER Table created. SELECT * FROM STUDENT;

T_NO F_NAME SALARY BRANCH COURSE ----- ---------- --------- ----------------------------1 BRIJ 4000 AMIT PROGRAMMER 2 SEEMANT 5000 ANEETA DEVELOPER 3 JATIN 6520 K.RAM TESTING 4 AJISH 5000 UMESH TESTING 5 SONU 6550 UMESH TESTING 6 DAIDEEP 5000 X TESTING 7 DAIDEEP 5000 X TESTING 8 DAIDEEP 5000 X TESTING 8 JAIDEEP 5000 AASHISH PRINCIPAL 9 JAIDEEP 5000 AASHISH PRINCIPAL 9 JAIDEEP 5000 AASHISH PRINCIPAL 10 JOLLY 5000 HEMA CLASSTEACHER 11 UMESH 2500 BRIJ CLASSTEACHER 12 ANEETA 2500 JATIN DEVELOPER 13 K.RAM 2500 AJISH HEADTEACHER INSERT DATA INTO A TABLE FROM ANOTHER TABLE 1 INSERT INTO BOY 2 SELECT F_NAME 3* FROM TEACHER; 15 rows created. SQL> SELECT * FROM BOY;

ADM_DATE

B_DATE

--------- --------10-JAN-02 18-JUL-85 11-FEB-02 14-MAR-84 12-DEC-03 12-DEC-88 30-DEC-94 12-DEC-88 10-DEC-02 18-JAN-85 02-JAN-99 02-JAN-85 02-JAN-99 02-JAN-85 02-JAN-99 02-JAN-85 02-MAR-98 08-JAN-85 02-MAR-98 08-JAN-85 02-MAR-98 08-JAN-85 02-FEB-97 22-JAN-85 01-AUG-99 11-SEP-03 01-AUG-99 11-SEP-03 01-AUG-99 11-SEP-03

NAME --------------BRIJ SEEMANT JATIN AJISH SONU DAIDEEP DAIDEEP DAIDEEP JAIDEEP JAIDEEP JAIDEEP JOLLY UMESH ANEETA K.RAM 15 rows selected. SQL> 2 3 4 INSERT INTO BOY SELECT NAME FROM BOY WHERE NAME='BRIJ';

1 row created. SQL> SELECT * FROM BOY; NAME --------------BRIJ SEEMANT JATIN AJISH SONU DAIDEEP DAIDEEP DAIDEEP JAIDEEP JAIDEEP JAIDEEP JOLLY UMESH ANEETA K.RAM BRIJ

16 rows selected. DELETING ALL ROWS OF TABLE SQL> DELETE FROM BOY; 16 rows deleted. Procedure Help In order to view output of all query which use DBMS_OUTPUT.PUT_LINE use following query SQL> SET SERVEROUTPUT ON; While loop DECLARE qty NUMBER :=1; sanctioned_amt NUMBER :=1000; unit_price NUMBER :=10; tot_amt NUMBER :=0; BEGIN WHILE tot_amt<sanctioned_amt LOOP tot_amt:=unit_price*qty; qty:=qty+1; DBMS_OUTPUT.PUT_LINE(tot_amt); --insert into t_ex6 values(tot_amt); END LOOP; END; Steps 1) 2) 3) to store procedure into oracle and run from that ed <filename>; save file for execute that file use @<filename>;

--PROCEDURE DECLARE qty NUMBER :=1;

sanctioned_amt NUMBER :=1000; unit_price NUMBER :=10; tot_amt NUMBER :=0; BEGIN WHILE tot_amt<sanctioned_amt LOOP tot_amt:=unit_price*qty; qty:=qty+1; DBMS_OUTPUT.PUT_LINE(tot_amt); --insert into t_ex6 values(tot_amt); END LOOP; END; --OUTPUT -Warning: Procedure created with compilation errors. --PROCEDURE create or replace procedure search_teacher (o_t_no in number, o_f_name out varchar2, o_l_name out varchar2) is begin select f_name,l_name from teacher where t_no=o_t_no; end search_teacher; run;/*it is used to create the procedure*/ --TO CALL THIS PROCEDURE declare o_f_name teacher.f_name%type; o_l_name teacher.l_name%type; begin search_teacher(5,o_f_name,o_l_name); dbms_output.put_line('employee:5'); dbms_output.put_line('name:'||' '||o_l_name); end; --OUTPUT -ERROR at line 5: ORA-06550: line 5, column 1: PLS-00905: object SYSTEM.SEARCH_TEACHER is invalid ORA-06550: line 5, column 1: PL/SQL: Statement ignored

--PAGE NO.53 ;;EXAMPLE 1 ;; IMPLICIT CURSOR-DECLARE TOTAL_ROW_DEL NUMBER(7); BEGIN DELETE * FROM TEACHER WHERE SALARY<5000; TOTAL_ROW_DEL:=SQL%ROWCOUNT; END; --OUTPUT -ERROR at line 4: ORA-06550: line 4, column 8: PLS-00103: Encountered the symbol "*" when expecting one of the following: ( <an identifier> <a double-quoted delimited-identifier> table from the SQL> select f_name||' '||l_name as Name 2 from teacher; NAME --------------------BRIJ BHUSHAN SEEMANT KUMAR JATIN SINGH AJISH KOSHY SONU JAISWAL DAIDEEP GUPTA DAIDEEP SENGUPTA DAIDEEP SHARMA JAIDEEP SENGUPTA JAIDEEP SHARMA JAIDEEP SHARMA JOLLY SENGUPTA UMESH SINGH ANEETA SINGH K.RAM VISHKARMA 15 rows selected. DECLARE CTR NUMBER(5); PROCEDURE DISP IS

LINE VARCHAR2(25):="********************" BEGIN DBMS_OUTPUT.PUT_LINE(LINE); END; BEGIN FOR CTR IN 1..10 LOOP DISP; END LOOP; END;

You might also like