Common SQL Queries (2)
-
Upload
bhaskar1234567 -
Category
Documents
-
view
230 -
download
0
Transcript of Common SQL Queries (2)
-
7/29/2019 Common SQL Queries (2)
1/20
SQL> cl scr
SQL> SELECT2 TO_CHAR(TO_DATE('&GiveNumber', 'J'), 'JSP') "Spelled Number"3 FROM DUAL;
Enter value for givenumber: 1
Spe---ONE
SQL> /Enter value for givenumber: 12345
Spelled Number----------------------------------------TWELVE THOUSAND THREE HUNDRED FORTY-FIVE
SQL> /Enter value for givenumber: 2345
Spelled Number-------------------------------------TWO THOUSAND THREE HUNDRED FORTY-FIVE
SQL> cl scr
SQL> SELECT2 'SATISH KUMAR YELLANKI' OrgName,3 TRANSLATE('SATISH KUMAR YELLANKI',4 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',5 '1234567890!@#$%^&*()-=_+;,.') EncryptedName6 FROM DUAL;
ORGNAME ENCRYPTEDNAME--------------------- ---------------------SATISH KUMAR YELLANKI (1)9(8 !-#1* ;5@@1$!9
SQL> edWrote file afiedt.buf
1 SELECT2 '(1)9(8 !-#1* ;5@@1$!9' EncryptName,3 TRANSLATE('(1)9(8 !-#1* ;5@@1$!9',4 '1234567890!@#$%^&*()-=_+;,.',5 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'6 ) DecryptedName7* FROM DUAL
SQL> /
ENCRYPTNAME DECRYPTEDNAME--------------------- ---------------------(1)9(8 !-#1* ;5@@1$!9 SATISH KUMAR YELLANKI
SQL> cl scr
SQL> SELECT2 AVG(Sal), AVG(DISTINCT Sal)3 FROM Emp;
-
7/29/2019 Common SQL Queries (2)
2/20
AVG(SAL) AVG(DISTINCTSAL)---------- ----------------2073.21429 2064.58333
SQL> edWrote file afiedt.buf
1 SELECT2 AVG(Comm)3* FROM Emp
SQL> /
AVG(COMM)----------
550
SQL> edWrote file afiedt.buf
1 SELECT2 AVG(Comm),3 AVG(NVL(Comm, 0))4* FROM Emp
SQL> /
AVG(COMM) AVG(NVL(COMM,0))---------- ----------------
550 157.142857
SQL> cl scr
SQL> SELECT2 SUM(Sal),3 SUM(DISTINCT Sal)4 FROM Emp;
SUM(SAL) SUM(DISTINCTSAL)
---------- ----------------29025 24775
SQL> edWrote file afiedt.buf
1 SELECT2 SUM(Comm), AVG(Comm)3* FROM Emp
SQL> /
SUM(COMM) AVG(COMM)---------- ----------
2200 550
SQL> cl scr
SQL> edWrote file afiedt.buf
1 SELECT2 MAX(Sal), MIN(Sal)3* FROM Emp
-
7/29/2019 Common SQL Queries (2)
3/20
SQL> /
MAX(SAL) MIN(SAL)---------- ----------
5000 800
SQL> edWrote file afiedt.buf
1 SELECT2 Ename,3 MAX(Sal)4* FROM Emp
SQL> /Ename,*ERROR at line 2:ORA-00937: not a single-group group function
SQL> edWrote file afiedt.buf
1 SELECT
2 Ename,3 MAX(Sal)4 FROM Emp5* GROUP BY Ename
SQL> /
ENAME MAX(SAL)---------- ----------ADAMS 1100ALLEN 1600BLAKE 2850CLARK 2450FORD 3000
JAMES 950JONES 2975KING 5000MARTIN 1250MILLER 1300SCOTT 3000
ENAME MAX(SAL)---------- ----------SMITH 800TURNER 1500WARD 1250
14 rows selected.
SQL> cl scr
SQL> SELECT COUNT(*)2 FROM Emp;
COUNT(*)----------
14
-
7/29/2019 Common SQL Queries (2)
4/20
SQL> edWrote file afiedt.buf
1 SELECT COUNT(Sal)2* FROM Emp
SQL> /
COUNT(SAL)----------
14
SQL> edWrote file afiedt.buf
1 SELECT COUNT(DISTINCT Sal)2* FROM Emp
SQL> /
COUNT(DISTINCTSAL)------------------
12
SQL> cl scr
SQL> edWrote file afiedt.buf
1 SELECT COUNT(*), COUNT(Comm)2* FROM Emp
SQL> /
COUNT(*) COUNT(COMM)---------- -----------
14 4
SQL> cl scr
SQL> edWrote file afiedt.buf
1 SELECT COUNT(*), COUNT(MGR)2* FROM Emp
SQL> /
COUNT(*) COUNT(MGR)---------- ----------
14 13
SQL> ed
Wrote file afiedt.buf
1 SELECT COUNT(*), COUNT(MGR), COUNT(DISTINCT MGR)2* FROM Emp
SQL> /
COUNT(*) COUNT(MGR) COUNT(DISTINCTMGR)---------- ---------- ------------------
14 13 6
-
7/29/2019 Common SQL Queries (2)
5/20
SQL> cl scr
SQL> SELECT Deptno2 FROM Emp3 ORDER BY Deptno;
DEPTNO----------
1010102020202020303030
DEPTNO----------
3030
30
14 rows selected.
SQL> edWrote file afiedt.buf
1 SELECT Deptno2 FROM Emp3* GROUP BY Deptno
SQL> /
DEPTNO
----------102030
SQL> SELECT DISTINCT Deptno2 FROM Emp;
DEPTNO----------
102030
SQL> cl scr
SQL> SELECT Job2 FROM Emp;
JOB---------PRESIDENTMANAGER
-
7/29/2019 Common SQL Queries (2)
6/20
MANAGERMANAGERSALESMANSALESMANSALESMANCLERKSALESMANANALYSTCLERK
JOB---------ANALYSTCLERKCLERK
14 rows selected.
SQL> edWrote file afiedt.buf
1 SELECT Job2 FROM Emp3* GROUP BY Job
SQL> /
JOB---------ANALYSTCLERKMANAGERPRESIDENTSALESMAN
SQL> SELECT Empno2 FROM Emp;
EMPNO----------73697499752175667654769877827788783978447876
EMPNO----------
790079027934
14 rows selected.
SQL> ed
-
7/29/2019 Common SQL Queries (2)
7/20
Wrote file afiedt.buf
1 SELECT Empno2 FROM Emp3* GROUP BY Empno
SQL> /
EMPNO----------
73697499752175667654769877827788783978447876
EMPNO----------
7900
79027934
14 rows selected.
SQL> cl scr
SQL> SELECT Deptno, Job2 FROM Emp3 GROUP BY Deptno;
SELECT Deptno, Job*
ERROR at line 1:
ORA-00979: not a GROUP BY expression
SQL> edWrote file afiedt.buf
1 SELECT Deptno, Job2 FROM Emp3* GROUP BY Deptno, Job
SQL> /
DEPTNO JOB---------- ---------
10 CLERK10 MANAGER10 PRESIDENT20 CLERK20 ANALYST20 MANAGER30 CLERK30 MANAGER30 SALESMAN
-
7/29/2019 Common SQL Queries (2)
8/20
9 rows selected.
SQL> cl scr
SQL> SELECT SUM(Sal) FROM Emp;
SUM(SAL)----------
29025
SQL> SELECT Deptno FROM Emp2 GROUP BY Deptno;
DEPTNO----------
102030
SQL> SELECT Deptno, SUM(Sal) FROM Emp2 GROUP BY Deptno;
DEPTNO SUM(SAL)---------- ----------
10 875020 1087530 9400
SQL> edWrote file afiedt.buf
1 SELECT Deptno, SUM(Sal)2 FROM Emp3 WHERE Deptno 204* GROUP BY Deptno
SQL> /
DEPTNO SUM(SAL)---------- ----------10 875030 9400
SQL> edWrote file afiedt.buf
1 SELECT Deptno, SUM(Sal)2 FROM Emp3* GROUP BY Deptno
SQL> /
DEPTNO SUM(SAL)---------- ----------
10 875020 1087530 9400
SQL> edWrote file afiedt.buf
1 SELECT Deptno, SUM(Sal)
-
7/29/2019 Common SQL Queries (2)
9/20
2 FROM Emp3 GROUP BY Deptno4* ORDER BY SUM(Sal)
SQL> /
DEPTNO SUM(SAL)---------- ----------
10 875030 940020 10875
SQL> edWrote file afiedt.buf
1 SELECT SUM(Sal)2 FROM Emp3* GROUP BY Deptno
SQL> /
SUM(SAL)----------
8750108759400
SQL> cl scr
SQL> SELECT Deptno2 FROM Emp3 GROUP BY Deptno;
DEPTNO----------
102030
SQL> edWrote file afiedt.buf
1 SELECT Job2 FROM Emp3* GROUP BY Job
SQL> /
JOB---------ANALYSTCLERKMANAGER
PRESIDENTSALESMAN
SQL> edWrote file afiedt.buf
1 SELECT MGR2 FROM Emp3* GROUP BY MGR
SQL> /
-
7/29/2019 Common SQL Queries (2)
10/20
MGR----------
756676987782778878397902
7 rows selected.
SQL> edWrote file afiedt.buf
1 SELECT HireDate2 FROM Emp3* GROUP BY HireDate
SQL> /
HIREDATE---------17-DEC-80
20-FEB-8122-FEB-8102-APR-8101-MAY-8109-JUN-8108-SEP-8128-SEP-8117-NOV-8103-DEC-8123-JAN-82
HIREDATE---------
09-DEC-8212-JAN-83
13 rows selected.
SQL> SELECT Ename, HireDate2 FROM Emp3 ORDER BY HireDate;
ENAME HIREDATE---------- ---------SMITH 17-DEC-80ALLEN 20-FEB-81
WARD 22-FEB-81JONES 02-APR-81BLAKE 01-MAY-81CLARK 09-JUN-81TURNER 08-SEP-81MARTIN 28-SEP-81KING 17-NOV-81JAMES 03-DEC-81FORD 03-DEC-81
-
7/29/2019 Common SQL Queries (2)
11/20
ENAME HIREDATE---------- ---------MILLER 23-JAN-82SCOTT 09-DEC-82ADAMS 12-JAN-83
14 rows selected.
SQL> cl scr
SQL> SELECT TO_CHAR(HireDate, 'YYYY') HireYear2 FROm Emp3 GROUP BY TO_CHAR(HireDate, 'YYYY');
HIRE----1980198119821983
SQL> edWrote file afiedt.buf
1 SELECT TO_CHAR(HireDate, 'Month') HireYear2 FROm Emp3* GROUP BY TO_CHAR(HireDate, 'Month')
SQL> /
HIREYEAR---------AprilDecemberFebruaryJanuaryJuneMay
NovemberSeptember
8 rows selected.
SQL> edWrote file afiedt.buf
1 SELECT TO_CHAR(HireDate, 'Month') HireYear2 FROm Emp3 WHERE TO_CHAR(HireDate, 'YYYY') = 19814* GROUP BY TO_CHAR(HireDate, 'Month')
SQL> /
HIREYEAR---------AprilDecemberFebruaryJuneMayNovemberSeptember
-
7/29/2019 Common SQL Queries (2)
12/20
7 rows selected.
SQL> cl scr
SQL> edWrote file afiedt.buf
1 SELECT2 TO_CHAR(HireDate, 'YYYY') Year,3 TO_CHAR(HireDate, 'Q') Quarter,4 TO_CHAR(HireDate, 'Month') Month,5 TO_CHAR(HireDate, 'W') Week,6 TO_CHAR(HireDate, 'Day') WeekDay7 FROm Emp8 GROUP BY9 TO_CHAR(HireDate, 'YYYY'),
10 TO_CHAR(HireDate, 'Q'),11 TO_CHAR(HireDate, 'Month'),12 TO_CHAR(HireDate, 'W'),13* TO_CHAR(HireDate, 'Day')SQL> /
YEAR Q MONTH W WEEKDAY
---- - --------- - ---------1980 4 December 3 Wednesday1981 1 February 3 Friday1981 1 February 4 Sunday1981 2 April 1 Thursday1981 2 June 2 Tuesday1981 2 May 1 Friday1981 3 September 2 Tuesday1981 3 September 4 Monday1981 4 December 1 Thursday1981 4 November 3 Tuesday1982 1 January 4 Saturday
YEAR Q MONTH W WEEKDAY---- - --------- - ---------1982 4 December 2 Thursday1983 1 January 2 Wednesday
13 rows selected.
SQL> cl scr
SQL> SELECT Deptno, AVG(Sal)2 FROM Emp;
SELECT Deptno, AVG(Sal)*
ERROR at line 1:ORA-00937: not a single-group group function
SQL> edWrote file afiedt.buf
1 SELECT Deptno, AVG(Sal)2 FROM Emp3* GROUP BY Deptno
-
7/29/2019 Common SQL Queries (2)
13/20
SQL> /
DEPTNO AVG(SAL)---------- ----------
10 2916.6666720 217530 1566.66667
SQL> edWrote file afiedt.buf
1 SELECT Job, AVG(Sal)2 FROM Emp3* GROUP BY Job
SQL> /
JOB AVG(SAL)--------- ----------ANALYST 3000CLERK 1037.5MANAGER 2758.33333PRESIDENT 5000SALESMAN 1400
SQL> edWrote file afiedt.buf
1 SELECT2 TO_CHAR(HireDate, 'YYYY') Year,3 AVG(Sal)4 FROM Emp5* GROUP BY TO_CHAR(HireDate, 'YYYY')
SQL> /
YEAR AVG(SAL)---- ----------1980 800
1981 2282.51982 21501983 1100
SQL> edWrote file afiedt.buf
1 SELECT2 TO_CHAR(HireDate, 'YYYY') Year,3 SUM(Sal)4 FROM Emp5* GROUP BY TO_CHAR(HireDate, 'YYYY')
SQL> /
YEAR SUM(SAL)---- ----------1980 8001981 228251982 43001983 1100
SQL> cl scr
-
7/29/2019 Common SQL Queries (2)
14/20
SQL> SELECT Deptno, MAX(Sal), MIN(Sal)2 FROM Emp3 GROUP BY Deptno;
DEPTNO MAX(SAL) MIN(SAL)---------- ---------- ----------
10 5000 130020 3000 80030 2850 950
SQL> edWrote file afiedt.buf
1 SELECT Deptno, SUM(Sal), AVG(Sal)2 FROM Emp3* GROUP BY Deptno
SQL> /
DEPTNO SUM(SAL) AVG(SAL)---------- ---------- ----------
10 8750 2916.6666720 10875 217530 9400 1566.66667
SQL> edWrote file afiedt.buf
1 SELECT Deptno, Job, SUM(Sal)2 FROM Emp3* GROUP BY Deptno, Job
SQL> /
DEPTNO JOB SUM(SAL)---------- --------- ----------
10 CLERK 130010 MANAGER 245010 PRESIDENT 5000
20 CLERK 190020 ANALYST 600020 MANAGER 297530 CLERK 95030 MANAGER 285030 SALESMAN 5600
9 rows selected.
SQL> edWrote file afiedt.buf
1 SELECT Deptno, Job, COUNT(*), SUM(Sal)
2 FROM Emp3* GROUP BY Deptno, Job
SQL> /
DEPTNO JOB COUNT(*) SUM(SAL)---------- --------- ---------- ----------
10 CLERK 1 130010 MANAGER 1 245010 PRESIDENT 1 500020 CLERK 2 1900
-
7/29/2019 Common SQL Queries (2)
15/20
20 ANALYST 2 600020 MANAGER 1 297530 CLERK 1 95030 MANAGER 1 285030 SALESMAN 4 5600
9 rows selected.
SQL> cl scr
SQL> SELECT2 TO_CHAR(HireDate, 'YYYY') Year,3 Deptno,4 SUM(Sal)5 FROM Emp6 GROUP BY7 TO_CHAR(HireDate, 'YYYY'),8 Deptno;
YEAR DEPTNO SUM(SAL)---- ---------- ----------1980 20 8001981 10 74501981 20 5975
1981 30 94001982 10 13001982 20 30001983 20 1100
7 rows selected.
SQL> edWrote file afiedt.buf
1 SELECT2 Deptno,3 TO_CHAR(HireDate, 'YYYY') Year,
4 TO_CHAR(HireDate, 'FMMonth') Month,5 SUM(Sal)6 FROM Emp7 GROUP BY8 Deptno,9 TO_CHAR(HireDate, 'YYYY'),
10* TO_CHAR(HireDate, 'FMMonth')11 /
DEPTNO YEAR MONTH SUM(SAL)---------- ---- --------- ----------
10 1981 June 245010 1981 November 5000
10 1982 January 130020 1980 December 80020 1981 April 297520 1981 December 300020 1982 December 300020 1983 January 110030 1981 May 285030 1981 December 95030 1981 February 2850
-
7/29/2019 Common SQL Queries (2)
16/20
DEPTNO YEAR MONTH SUM(SAL)---------- ---- --------- ----------
30 1981 September 2750
12 rows selected.
SQL> cl scr
SQL> SELECT Deptno, MAX(Sal), MIN(Sal)2 FROM Emp3 WHERE Job = 'CLERK'4 GROUP BY Deptno;
DEPTNO MAX(SAL) MIN(SAL)---------- ---------- ----------
10 1300 130020 1100 80030 950 950
SQL> cl scr
SQL> SELECT2 Deptno,3 AVG(Sal)
4 FROM Emp5 GROUP BY Deptno6 HAVING MAX(Sal) > 2900;
DEPTNO AVG(SAL)---------- ----------
10 2916.6666720 2175
SQL> SELECT2 Deptno3 FROM Emp4 /
DEPTNO----------
10301020303030303020
20
DEPTNO----------
202010
14 rows selected.
-
7/29/2019 Common SQL Queries (2)
17/20
SQL> SELECT2 Deptno3 FROM Emp4 GROUP BY Deptno5 /
DEPTNO----------
102030
SQL> SELECT2 Deptno,3 AVG(Sal)4 FROM Emp5 GROUP BY Deptno6 /
DEPTNO AVG(SAL)---------- ----------
10 2916.6666720 217530 1566.66667
SQL> SELECT Deptno, MAX(Sal)2 FROM Emp3 GROUP BY Deptno;
DEPTNO MAX(SAL)---------- ----------
10 500020 300030 2850
SQL> SELECT2 Deptno,
3 AVG(Sal)4 FROM Emp5 GROUP BY Deptno6 HAVING MAX(Sal) > 2900;
DEPTNO AVG(SAL)---------- ----------
10 2916.6666720 2175
SQL> cl scr
SQL> SELECT
2 Job,3 SUM(Sal) Payroll4 FROM Emp5 WHERE Job NOT LIKE 'SALES%'6 GROUP BY Job7 HAVING SUM(Sal) > 50008 ORDER BY SUM(Sal);
JOB PAYROLL--------- ----------
-
7/29/2019 Common SQL Queries (2)
18/20
ANALYST 6000MANAGER 8275
SQL> SELECT2 Job3 FROM Emp4 /
JOB---------PRESIDENTMANAGERMANAGERMANAGERSALESMANSALESMANSALESMANCLERKSALESMANANALYSTCLERK
JOB---------
ANALYSTCLERKCLERK
14 rows selected.
SQL> SELECT2 Job3 FROM Emp4 WHERE Job NOT LIKE 'SALES%'5 /
JOB
---------PRESIDENTMANAGERMANAGERMANAGERCLERKANALYSTCLERKANALYSTCLERKCLERK
10 rows selected.
SQL> SELECT2 Job3 FROM Emp4 WHERE Job NOT LIKE 'SALES%'5 GROUP BY Job6 /
JOB---------
-
7/29/2019 Common SQL Queries (2)
19/20
ANALYSTCLERKMANAGERPRESIDENT
SQL> SELECT2 Job,3 SUM(Sal) Payroll4 FROM Emp5 WHERE Job NOT LIKE 'SALES%'6 GROUP BY Job7 /
JOB PAYROLL--------- ----------ANALYST 6000CLERK 4150MANAGER 8275PRESIDENT 5000
SQL> cl scr
SQL> SELECT2 Deptno,
3 MIN(Sal),4 MAX(Sal)5 FROM Emp6 WHERE Job = 'CLERK'7 GROUP BY Deptno8 HAVING MIN(Sal) < 1000;
DEPTNO MIN(SAL) MAX(SAL)---------- ---------- ----------
20 800 110030 950 950
SQL> SELECT
2 Deptno,3 SUM(Sal)4 FROM Emp5 GROUP BY Deptno6 HAVING COUNT(Deptno) > 3;
DEPTNO SUM(SAL)---------- ----------
20 1087530 9400
SQL> SELECT2 Deptno,
3 AVG(Sal),4 SUM(Sal)5 FROM Emp6 GROUP BY Deptno7 HAVING AVG (Sal) > 2500;
DEPTNO AVG(SAL) SUM(SAL)---------- ---------- ----------
10 2916.66667 8750
-
7/29/2019 Common SQL Queries (2)
20/20
SQL> SELECT2 Deptno,3 AVG(Sal),4 SUM(Sal)5 FROM Emp6 GROUP BY Deptno;
DEPTNO AVG(SAL) SUM(SAL)---------- ---------- ----------
10 2916.66667 875020 2175 1087530 1566.66667 9400
SQL> SELECT2 Deptno,3 Job,4 SUM(Sal),5 AVG(Sal)6 FROM Emp7 GROUP BY Deptno, Job8 HAVING AVG(Sal) > 2500;
DEPTNO JOB SUM(SAL) AVG(SAL)---------- --------- ---------- ----------
10 PRESIDENT 5000 500020 ANALYST 6000 300020 MANAGER 2975 297530 MANAGER 2850 2850
SQL> edWrote file afiedt.buf
1 SELECT2 Deptno,3 Job,4 SUM(Sal),5 AVG(Sal)
6 FROM Emp7 GROUP BY Deptno, Job8* HAVING AVG(Sal) > 2500 AND SUM(Sal) > 2975
SQL> /
DEPTNO JOB SUM(SAL) AVG(SAL)---------- --------- ---------- ----------
10 PRESIDENT 5000 500020 ANALYST 6000 3000
SQL> spool off