One More Operator- Together

 One More Operator- Together

একাধিক অপারেটরের ব্যবহার। (Use of One More Operator)

EMP টেবিলের EMPNO, ENAME, JOB AND SAL কলামের ডাটা দেখবো। শর্ত হচ্ছে যাদের SALARY 1000 AND 2000 এর মধ্যে হবে এবং যাদের JOB = CLERK শুধু মাত্র তাদেরই দেখা যাবে।

 

SELECT EMPNO, ENAME, JOB, SAL

FROM EMP

WHERE SAL BETWEEN 1000 AND 2000

AND JOB='CLERK';

 

     EMPNO ENAME      JOB              SAL                                                          

---------- ---------- --------- ----------

      7876 ADAMS      CLERK           1100

      7934 MILLER     CLERK           1300

 

EMP টেবিলের EMPNO, ENAME, JOB AND SAL কলামের ডাটা দেখবো। শর্ত হচ্ছে যাদের SALARY 1000 AND 2000 এর মধ্যে হবে এবং যাদের JOB = CLERK না শুধু মাত্র তাদেরই দেখা যাবে।

 

SELECT EMPNO, ENAME, JOB, SAL

FROM EMP

WHERE SAL BETWEEN 1000 AND 2000

AND JOB<>'CLERK'

 

     EMPNO ENAME      JOB              SAL

---------- ---------- --------- ----------

      7499 ALLEN      SALESMAN        1600

      7521 WARD       SALESMAN        1250

      7654 MARTIN     SALESMAN        1250

      7844 TURNER     SALESMAN        1500

 

EMP টেবিলের EMPNO, ENAME, JOB AND SAL কলামের ডাটা দেখবো। শর্ত হচ্ছে যাদের SALARY 1000 টাকার বেশী হবে এবং যাদের পদবী MANAGER, ও যাদের পদবী CLERK, শুধু মাত্র তাদেরই দেখা যাবে।

 

SELECT EMPNO, ENAME, JOB, SAL

FROM EMP

WHERE SAL>1000

AND JOB='MANAGER'

OR JOB='CLERK'

 

     EMPNO ENAME      JOB              SAL                                                          

---------- ---------- --------- ----------

      7369 SMITH      CLERK            800

      7566 JONES      MANAGER         2975

      7698 BLAKE      MANAGER         2850

      7782 CLARK      MANAGER         2450                                   

      7876 ADAMS      CLERK           1100

      7900 JAMES      CLERK            950

      7934 MILLER     CLERK           1300

7 rows selected.

 

IMPORTANT:

 

AND = BOTH CONDITION MUST BE TRUE

OR   = ANY CONDITION HAVE TO BE TRUE

 

** AND WILL BE PERFORMED FIRST


EMP টেবিলের EMPNO, ENAME, JOB, SAL AND DEPTNO কলামের ডাটা দেখবো। শর্ত হচ্ছে যাদের SALARY 1000 টাকার বেশী হবে এবং যাদের পদবী হয় MANAGER, না হয় CLERK, শুধু মাত্র তাদেরই দেখা যাবে। অর্থাৎ যে সকল MANAGER, CLERK  এর বেতন 1000 টাকার বেশী শুধুমাত্র তাদের দেখা যাবে।

 

SELECT EMPNO, ENAME, JOB, SAL, DEPTNO

FROM EMP

WHERE SAL>1000

AND (JOB='MANAGER'

OR JOB='CLERK')

 

     EMPNO ENAME      JOB              SAL     DEPTNO

---------- ---------- --------- ---------- ---------- 

      7566 JONES      MANAGER         2975         20

      7698 BLAKE      MANAGER         2850         30

      7782 CLARK      MANAGER         2450         10

      7876 ADAMS      CLERK           1100         20

      7934 MILLER     CLERK           1300         10

End-

NEGATIVE OPERATOR -Is Not Null

 NEGATIVE OPERATOR - Is Not Null

IS NOT NULL

EMP টেবিলের ENAME, SAL AND COMM কলামের ডাটা দেখবো। শর্ত হচ্ছে যাদের COMM (COMMISSION) আছে শুধু মাত্র তাদেরই দেখা যাবে।


SELECT ENAME, JOB, SAL, COMM

FROM EMP

WHERE COMM IS NOT NULL;

 

ENAME      JOB              SAL       COMM

---------- --------- ---------- ----------

ALLEN      SALESMAN        1600        300

WARD       SALESMAN        1250        500                             

MARTIN     SALESMAN        1250       1400

TURNER     SALESMAN        1500          0

  

EMP টেবিলের ENAME, SAL AND COMM কলামের ডাটা দেখবো। শর্ত হচ্ছে যাদের JOB COLUMN এ কোন ফাঁকা নেই শুধু মাত্র তাদেরই দেখা যাবে।

SELECT ENAME, JOB, SAL, COMM

FROM EMP

WHERE JOB IS NOT NULL

 

ENAME      JOB              SAL       COMM

---------- --------- ---------- ----------

SMITH      CLERK            800

ALLEN      SALESMAN        1600        300

WARD       SALESMAN        1250        500

JONES      MANAGER         2975        

MARTIN     SALESMAN        1250       1400

BLAKE      MANAGER         2850    

CLARK      MANAGER         2450

SCOTT      ANALYST         3000

KING       PRESIDENT       5000     

TURNER     SALESMAN        1500          0

ADAMS      CLERK           1100

JAMES      CLERK            950                                         

FORD       ANALYST         3000

MILLER     CLERK           1300

14 rows selected.

 

EMP টেবিলের ENAME, JOB, SAL AND MGR কলামের ডাটা দেখবো। শর্ত হচ্ছে যাদের MRG COLUMN এ ডাটা আছে শুধু মাত্র তাদেরই দেখা যাবে।

 

SELECT ENAME, JOB, SAL, MGR

FROM EMP

WHERE MGR IS NOT NULL

 

ENAME      JOB              SAL        MGR

---------- --------- ---------- ----------

SMITH      CLERK            800       7902

ALLEN      SALESMAN        1600       7698

WARD       SALESMAN        1250       7698

JONES      MANAGER         2975       7839                                    

MARTIN     SALESMAN        1250       7698

BLAKE      MANAGER         2850       7839

CLARK      MANAGER         2450       7839

SCOTT      ANALYST         3000       7566

TURNER     SALESMAN        1500       7698                             

ADAMS      CLERK           1100       7788

JAMES      CLERK            950       7698

FORD       ANALYST         3000       7566

MILLER     CLERK           1300       7782 

13 rows selected. 

 

NEGATIVE OPERATOR - Not Like

 NEGATIVE OPERATOR - Not Like

NOT LIKE

EMP টেবিলের EMPNO, JOB AND SAL কলামের ডাটা দেখবো। শর্ত হচ্ছে যাদের পদবীর প্রথম অক্ষর S হবেনা, তাদেরই তালিকা দখা যাবে।

 

SELECT ENAME, JOB, SAL

FROM EMP

WHERE JOB NOT LIKE 'S%';

 

ENAME      JOB              SAL

---------- --------- ----------

SMITH      CLERK            800

JONES      MANAGER         2975

BLAKE      MANAGER         2850

CLARK      MANAGER         2450

SCOTT      ANALYST         3000

KING       PRESIDENT       5000

ADAMS      CLERK           1100                   

JAMES      CLERK            950

FORD       ANALYST         3000

MILLER     CLERK           1300                                                                     

10 rows selected.

 

EMP টেবিলের EMPNO, JOB AND SAL কলামের ডাটা দেখবো। শর্ত হচ্ছে যাদের পদবীর প্রথম দুই অক্ষর হবে CL

 

SELECT ENAME, JOB, SAL

FROM EMP

WHERE JOB NOT LIKE 'CL%'

 

ENAME      JOB              SAL

---------- --------- ----------

ALLEN      SALESMAN        1600                              

WARD       SALESMAN        1250

JONES      MANAGER         2975

MARTIN     SALESMAN        1250

BLAKE      MANAGER         2850

CLARK      MANAGER         2450                       

SCOTT      ANALYST         3000

KING       PRESIDENT       5000

TURNER     SALESMAN        1500

FORD       ANALYST         3000

10 rows selected.

SQL OPERATOR- LIKE

 SQL OPERATOR- LIKE

 LIKE

EMP টেবিলের EMPNO AND ENAME কলামের ডাটা দেখবো। শর্ত হচ্ছে যাদের নামের প্রথম অক্ষর হবে A, শুধুমাত্র তাদের তালিকা দেখা যাবে।

 

SELECT ENAME, EMPNO

FROM EMP

WHERE ENAME LIKE 'A%';

 

ENAME           EMPNO

---------- ----------

ALLEN            7499                                                              

ADAMS            7876

EMP টেবিলের EMPNO AND ENAME কলামের ডাটা দেখবো। শর্ত হচ্ছে যাদের নামের প্রথম দুই অক্ষর হবে AL শুধুমাত্র তাদের তালিকা দেখা যাবে।

SELECT ENAME, EMPNO

FROM EMP

WHERE ENAME LIKE 'AL%';

 

ENAME           EMPNO

---------- ----------

ALLEN            7499

  

EMP টেবিলের EMPNO AND ENAME কলামের ডাটা দেখবো। শর্ত হচ্ছে যাদের নামের প্রথম দুই অক্ষর হবে " SM "

 

SELECT ENAME, EMPNO

FROM EMP

WHERE ENAME LIKE 'SM%';

 

ENAME           EMPNO

---------- ----------

SMITH            7369


EMP টেবিলের EMPNO AND ENAME কলামের ডাটা দেখবো। শর্ত হচ্ছে যাদের নাম সর্ব মোট চার (৪) অক্ষরের শুধুমাত্র তাদের তালিকা দেখা যাবে।

 

SELECT ENAME, EMPNO

FROM EMP

WHERE ENAME LIKE '_ _ _ _';

 

ENAME           EMPNO         

---------- ----------

WARD             7521                                                

KING             7839        

FORD             7902           

  

EMP টেবিলের EMPNO AND ENAME কলামের ডাটা দেখবো। শর্ত হচ্ছে যাদের নাম সর্ব মোট তিন (৩) অক্ষরের শুধুমাত্র তাদের তালিকা দেখা যাবে।

SELECT ENAME, EMPNO

FROM EMP

WHERE ENAME LIKE '_ _ _';

no rows selected

 

অর্থাৎ তিন (৩) অক্ষর বিশিষ্ট কোন নাম নেই EMP টেবিলে।

EMP টেবিলেরEMPNO AND ENAME কলামের ডাটা দেখবো। শর্ত হচ্ছে যাদের নাম সর্ব মোট পাঁচ (৫) অক্ষরের শুধু মাত্র তাদেরই দেখা যাবে।

 

SELECT ENAME, EMPNO

FROM EMP

WHERE ENAME LIKE '_ _ _ _ _';

 

ENAME           EMPNO              

---------- ----------

SMITH            7369

ALLEN            7499

JONES            7566

BLAKE            7698

CLARK            7782

SCOTT            7788 

ADAMS            7876

JAMES            7900

8 rows selected.

SQL OPERATOR- IN

 SQL OPERATOR- IN

 IN 

EMP টেবিলের EMPNO, ENAME,SAL AND MRG কলামের ডাটা দেখবো। শর্ত হচ্ছে যাদের MGR NO 7788 AND 7566  শুধুমাত্র তাদের তালিকা দেখা যাবে।

 

SELECT EMPNO, ENAME, SAL, MGR

FROM EMP

WHERE MGR IN(7788,7566);

 

     EMPNO ENAME             SAL        MGR 

---------- ---------- ---------- ---------- 

      7788 SCOTT            3000       7566

      7876 ADAMS            1100       7788

      7902 FORD             3000       7566


EMP টেবিলের EMPNO, ENAME, SAL AND MRG কলামের ডাটা দেখবো। শর্ত হচ্ছে যাদের SALALARY 2000 AND 3000, শুধুমাত্র তাদের তালিকা দেখা যাবে।

 

SELECT EMPNO, ENAME, SAL, MGR

FROM EMP

WHERE SAL IN(2000,3000);

 

     EMPNO ENAME             SAL        MGR 

---------- ---------- ---------- ----------

      7788 SCOTT            3000       7566

      7902 FORD             3000       7566

SQL OPERATOR- BETWEEN

SQL OPERATOR

 

নিম্নে SQL OPERATOR  এর বর্ননা দেওয়া হলো।

Ø  BETWEEN

Ø  IN (LIST)

Ø  LIKE

Ø  IS NULL

BETWEEN

EMP টেবিলের ENAME, JOB AND SAL কলামের ডাটা দেখবো। শর্ত হচ্ছে যাদের SALARY 1000 এবং 2000 হাজারের মধ্যে শুধুমাত্র তাদের তালিকা দেখা যাবে।

মনে রাখতে হবে যে, BETWEEN কমান্ড ব্যবহার করার সময় দ্ইু শর্তেও মধ্যে যেটি ছোট সেটি প্রথম লিখতে হবে। এবং Character type or date type data হলে কোটেশনের মধ্যে লিখতে হবে।

SELECT ENAME, JOB, SAL

FROM EMP

WHERE SAL BETWEEN 1000 AND 2000; 

ENAME      JOB              SAL 

---------- --------- ---------- 

ALLEN      SALESMAN        1600  

WARD       SALESMAN        1250

MARTIN     SALESMAN        1250

TURNER     SALESMAN        1500                                               

ADAMS      CLERK           1100

MILLER     CLERK           1300 

 

6 rows selected.

মনে রাখতে হবে- LOWER LIMIT MUST BE SPECIFIED FIRST

ORDER BY - DESCENDING

 

ORDER BY -  DESCENDING

মানের উচ্চক্রম বা নিম্নক্রমে ডাটাকে সাঁজিয়ে উপস্থাপন করার নামই হচ্ছে ASCENDING বা DESCENDING.

  1. ORDER BY CLAUSE সব শেষে ব্যবহার করতে হয়।
  2. যে কলামকে ORDER BY করা হবে তাকে সিলেক্ট না করলেও কোন অসুবিধা নেই।
  3. ORDER BY CLAUSE ব্যবহার না করলে ডাটা অনির্ধারিত ভাবে বা ওরাকলের নিজস্ব  ক্রমে উপস্থাপিত হবে।
  4. একের অধিক কলাম ORDER BY হতে পারে।
  5. একাধিক কলাম হলে কমা (,) দিয়ে কলাম আলাদা করে লিখতে হয়।
  6. ASCENDING ORDER  G  NULL VALUE সব শেষে উপস্থাপিত হবে।
  7. DESCENDING ORDER G NULL VALUE সর্ব প্রথম উপস্থাপিত হবে।

 

নিচের তালিকা লক্ষ্য করা যাক। 

 

 ORDER BY (DESCENDING)

NEWMERIC

CHARACTER

DATE

5

F

15 June 2007

4

E

14 June 2007

3

D

13 June 2007

2

C

12 June 2007

1

B

11 June 2007

0

A

10 June 2007

এবার আমরা EMP টেবিলের ENAME কলামকে DESCENDING আকারে SORT করে দেখবো নিচের কমান্ড দিয়ে।

SELECT ENAME, JOB, SAL*12, DEPTNO

FROM EMP

ORDER BY ENAME DESC

ENAME      JOB           SAL*12     DEPTNO                 

---------- --------- ---------- ----------                 

WARD       SALESMAN       15000         30                 

TURNER     SALESMAN       18000         30                 

SMITH      CLERK           9600         20                 

SCOTT      ANALYST        36000         20                 

MILLER     CLERK          15600         10                 

MARTIN     SALESMAN       15000         30                 

KING       PRESIDENT      60000         10                 

JONES      MANAGER        35700         20                 

JAMES      CLERK          11400         30                 

FORD       ANALYST        36000         20                 

CLARK      MANAGER        29400         10                 

BLAKE      MANAGER        34200         30                 

ALLEN      SALESMAN       19200         30                 

ADAMS      CLERK          13200         20                 

14 rows selected.


EMP টেবিলের HIREDATE কলামকে DESCENDING আকারে SORT করে দেখবো নিচের কমান্ড দিয়ে।

SELECT ENAME, JOB, HIREDATE

FROM EMP

ORDER BY HIREDATE DESC;


ENAME      JOB       HIREDATE                 

---------- --------- ---------                 

ADAMS      CLERK     23-MAY-87                 

SCOTT      ANALYST   19-APR-87                 

MILLER     CLERK     23-JAN-82                 

JAMES      CLERK     03-DEC-81                 

FORD       ANALYST   03-DEC-81                 

KING       PRESIDENT 17-NOV-81                 

MARTIN     SALESMAN  28-SEP-81                 

TURNER     SALESMAN  08-SEP-81                 

CLARK      MANAGER   09-JUN-81                 

BLAKE      MANAGER   01-MAY-81                 

JONES      MANAGER   02-APR-81                 

WARD       SALESMAN  22-FEB-81                 

ALLEN      SALESMAN  20-FEB-81                 

SMITH      CLERK     17-DEC-80                 

14 rows selected.

 

EMP টেবিলের COMM কলামকে DESCENDING আকারে SORT করে দেখবো নিচের কমান্ড দিয়ে। পার্থক্য বোঝার চেষ্টা করা যাক।

 

SQL> SELECT DEPTNO,SAL, COMM

FROM EMP

ORDER BY COMM DESC

 

    DEPTNO        SAL       COMM

---------- ---------- ----------

        20        800

        20       2975

        10       2450

        30       2850

        20       3000

        10       5000

        30        950

        10       1300

        20       3000

        20       1100

        30       1250       1400

        30       1250        500

        30       1600        300

        30       1500          0

14 rows selected.

 

EMP টেবিলের SAL কলামকে DESCENDING আকারে SORT করে দেখবো নিচের কমান্ড দিয়ে। পার্থক্য বোঝার চেষ্টা করা যাক।

 

SQL>SELECT DEPTNO,SAL, COMM

FROM EMP

ORDER BY SAL DESC

 

    DEPTNO        SAL       COMM

---------- ---------- ----------

        10       5000

        20       3000

        20       3000

        20       2975

        30       2850

        10       2450

        30       1600        300

        30       1500          0

        10       1300

        30       1250        500

        30       1250       1400

        20       1100

        30        950

        20        800

 

14 rows selected.