Some Fascinating Sql Programs-2


 

 

Addition of Salary with Previous

 

Query -1

 

SELECT R.FIRST_NAME||’,’||R.LAST_NAME “EMPLOYEE NAME”, R.SALARY, D.DEPARTMENT_NAME, R.SALARY+M.SAL1 INC_SAL

FROM(SELECT ROWNUM+1 MR1, SALARY SAL1 FROM (SELECT ROWNUM RO, SALARY FROM

EMPLOYEES) UNION

SELECT 1,0

FROM DUAL) M,

(SELECT SALARY, FIRST_NAME, LAST_NAME ,DEPARTMENT_ID, ROWNUM R1 FROM EMPLOYEES) R, DEPARTMENTS D

WHERE M.MR1=R.R1 AND R.DEPARTMENT_ID=D.DEPARTMENT_ID

 

Query-2

SELECT R.SALARY, ZZ.SS+R.SALARY WOW FROM (select st.mr1, case when mr1=1 then 0 else salary  end ss from

(SELECT   ROWNUM  MR1,

CASE WHEN (ROWNUM – 1) = 0 THEN salary – salary ELSE salary END sal1

FROM   (SELECT   ROWNUM RO, SALARY FROM EMPLOYEES)) st, (SELECT   ROWNUM+1 RO1, SALARY FROM EMPLOYEES) gt where st.mr1=gt.ro1(+)

order by mr1) zz, (SELECT SALARY, FIRST_NAME, LAST_NAME ,DEPARTMENT_ID, ROWNUM R1 FROM EMPLOYEES) R where zz.mr1=r.r1

Query-3

 

SELECT  s1.e1,s1.sal1,

case

when s1.e1=1 THEN s1.sal1+0

else s1.sal1+s2.sal2

end total

FROM

(SELECT  salary sal1,rownum e1

FROM employees) s1,

(SELECT salary sal2,

case

when rownum=1 then rownum+1

else rownum+1

end e2

FROM employees) s2

WHERE s1.e1=s2.e2(+)

order by e1
Query – 4

 

SELECT   R3,

SAL,

SALARY,

SAL + SALARY UP_SAL

FROM   (  SELECT   CASE WHEN R2 = 107 THEN R2 – 106 ELSE R2 + 1 END R3, SAL

FROM   (SELECT   ROWNUM R2,

CASE WHEN ROWNUM = 107 THEN 0 ELSE SALARY END

SAL

FROM   EMPLOYEES)

ORDER BY   R3) EZ,

(SELECT   SALARY, ROWNUM R4 FROM EMPLOYEES) EN

WHERE   EN.R4 = EZ.R3

 

 

Logic 

 

Almost Every query has the same logic that is changing the rownum and making a data zero or inserting a zero data.

 

 

 

 

Palindrome 

 

SELECT   CASE

WHEN SUM (EA) = LENGTH (:D) THEN ‘PALINDROME’

ELSE ‘ NOT PALINDROEM’

END

PALINDROME_CHECK

FROM   (SELECT  SUBSTR (:D, ROWNUM, 1), SUBSTR (:D, -ROWNUM, 1),  CASE

WHEN SUBSTR (:D, ROWNUM, 1) = SUBSTR (:D, -ROWNUM, 1)

THEN

‘1’

ELSE

‘0’

END

EA

FROM   EMPLOYEES)

 

 

Output

I/P: wow: Palindrome

I/P: hai: not a Palindrome

 

 

Logic

 

We split the word or string into rows in a column and then we inverse the string and make it in another column. Now we compare the both columns and when both match we give number 1 or 0. Now we check the length of the string and the sum of the column. When it is matched it is a palindrome. Else it is not a palindrome

 

 

 

About pacesettergraam

A good and realistic person

Posted on April 24, 2013, in SQL/PLSQL. Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: