BASIC SQL*PLUS :: LIMITING ROW SELECT STATEMENT

posted in: SQL*PLUS | 0

BASIC SQL*PLUS :: LIMITING ROW SELECT STATEMENT

এই টিউটোরিয়ালের মাধ্যমে নির্দিষ্ট রো বাছাই করে কি ভাবে রির্পোট দেখা যায় তার পদ্বতি শিখব

বিস্তারিত ব্যাখা ::

ডেটাবেইজ থেকে আমরা যদি লক্ষ লক্ষ রেকড থেকে নির্দিষ্ট রেকড বাছাই করে রির্পোট দেখতে চাই তাহলে WHERE CLAUSE ব্যবহার করে সহজে লক্ষ লক্ষ রেকড থেকে নির্দিষ্ট রেকড দেখতে পারব। নিচের

সিনটেক্সটি ভাল ভাবে লক্ষ্য করুন এবং উদাহরন দেখুন

সিনটেক্স ::

নিচে WHERE CLAUSE এর সিনটেক্স দেওয়া হল

SELECT COLUMN1,COLUMN2,COLUMN3,COLUMN_N
FROM TABLE_NAME
WHERE [CONDITION]

এখানে ‍SELECT COLUMN1,COLUMN2,COLUMN3,COLUMN_N হচ্ছে কলাম এর নাম

আর FROM TABLE হচ্ছে ডেটাবেইজ এর টেবিল এর নাম আর WHERE CONDITION হচ্ছে আমাদেরকে RETURN করে কোন ROW দেখাবে তা উল্লেখ করে দিতে হবে নিচের উদাহরণের সাহায্যে দেখানো হল

উদাহরণ ::

নিচে WHERE CONDITION এ উদাহরণ দেওয়া হল :

SQL> SELECT EMPLOYEE_ID,FIRST_NAME,LAST_NAME,HIRE_DATE,SALARY
  2  FROM EMPLOYEES
  3  WHERE
  4  EMPLOYEE_ID = 150;

EMPLOYEE_ID FIRST_NAME           LAST_NAME                 HIRE_DATE     SALARY
----------- -------------------- ------------------------- --------- ----------
        150 Peter                Tucker                    30-JAN-05      10000

SQL>

এখানে EMPLOYEE_ID,FIRST_NAME,LAST_NAME,HIRE_DATE,SALARY DISPLAY করাছি EMPLOYEE টেবিল থেকে এবং WHERE CONDITON বলছি যে ১৫০ নম্বর EMPLOYEE_ID এর তথ্য দেখাতে এখানে WHERE CONDITION টেবিলে থাকা যে কোন কলাম দিয়ে আমরা নির্দিষ্ট রেকড দেখতে পারি আরো কিছু উদাহরণ দেওয়া হল

উদাহরণ

WHERE CONDITION এর উদাহরণ

SQL> SELECT EMPLOYEE_ID ,FIRST_NAME||' '||LAST_NAME NAME,EMAIL,SALARY
  2  FROM EMPLOYEES
  3  WHERE
  4  FIRST_NAME = 'Jennifer';

EMPLOYEE_ID NAME
----------- ----------------------------------------------
EMAIL                         SALARY
------------------------- ----------
        200 Jennifer Whalen
JWHALEN                         4400

        189 Jennifer Dilly
JDILLY                          3600


SQL>

Character string এবং date দিয়ে where clause ব্যবহার করলে অবশ্যই Single Quotation ব্যবহার করতে হবে ।

মনে রাখবেন ডেটাবেইজ এর কলাম এবং টেবিল এর নাম NOT CASH Sensitive এটিকে ছোট বা বড় হাতের যেকোন অক্ষর দিয়ে লেখা যায় কিন্তু রেকড দিয়ে রির্পোট দেখতে চাইলে সঠিক অক্ষর দিতে হবে তবে SQL ফাংশন দিয়ে আরো সহজে রির্পোট দেখা যায়

উদাহরণ

নিচে তারিখ দিয়ে রির্পোট দেখানো হল

SQL> SELECT EMPLOYEE_ID,LAST_NAME,SALARY,HIRE_DATE
  2  FROM EMPLOYEES
  3  WHERE
  4  HIRE_DATE = '01-JUL-06';

EMPLOYEE_ID LAST_NAME                     SALARY HIRE_DATE
----------- ------------------------- ---------- ---------
        194 McCain                          3200 01-JUL-06

SQL>

DATABASE এ ডিফল্ট ভাবে তারিখ এর FORMATE থাকে DD-MON-RR ,DD=DATE,MON=MONTH এর তিন অক্ষর,RR=YEAR বছরের ২ অক্ষর । ‍SQL ফাংশন এর মাধ্যমে আমরা নিজেদের ইচ্ছেমত ফরম্যাট পরিবতন করে রির্পোট দেখতে পারব

উদাহরণ :

নিচে DEPARTMENT_ID দিয়ে রির্পোট দেখানো হল

SQL> SELECT EMPLOYEE_ID,LAST_NAME,SALARY,HIRE_DATE
  2  FROM EMPLOYEES
  3  WHERE
  4  DEPARTMENT_ID = 50;

EMPLOYEE_ID LAST_NAME                     SALARY HIRE_DATE
----------- ------------------------- ---------- ---------
        198 OConnell                        2600 21-JUN-07
        199 Grant                           2600 13-JAN-08
        120 Weiss                           8000 18-JUL-04
        121 Fripp                           8200 10-APR-05
        122 Kaufling                        7900 01-MAY-03
        123 Vollman                         6500 10-OCT-05
        124 Mourgos                         5800 16-NOV-07
        125 Nayer                           3200 16-JUL-05
        126 Mikkilineni                     2700 28-SEP-06
        127 Landry                          2400 14-JAN-07
        128 Markle                          2200 08-MAR-08

EMPLOYEE_ID LAST_NAME                     SALARY HIRE_DATE
----------- ------------------------- ---------- ---------
        129 Bissot                          3300 20-AUG-05
        130 Atkinson                        2800 30-OCT-05
        131 Marlow                          2500 16-FEB-05
        132 Olson                           2100 10-APR-07
        133 Mallin                          3300 14-JUN-04
        134 Rogers                          2900 26-AUG-06
        135 Gee                             2400 12-DEC-07
        136 Philtanker                      2200 06-FEB-08
        137 Ladwig                          3600 14-JUL-03
        138 Stiles                          3200 26-OCT-05
        139 Seo                             2700 12-FEB-06

EMPLOYEE_ID LAST_NAME                     SALARY HIRE_DATE
----------- ------------------------- ---------- ---------
        140 Patel                           2500 06-APR-06
        141 Rajs                            3500 17-OCT-03
        142 Davies                          3100 29-JAN-05
        143 Matos                           2600 15-MAR-06
        144 Vargas                          2500 09-JUL-06
        180 Taylor                          3200 24-JAN-06
        181 Fleaur                          3100 23-FEB-06
        182 Sullivan                        2500 21-JUN-07
        183 Geoni                           2800 03-FEB-08
        184 Sarchand                        4200 27-JAN-04
        185 Bull                            4100 20-FEB-05

EMPLOYEE_ID LAST_NAME                     SALARY HIRE_DATE
----------- ------------------------- ---------- ---------
        186 Dellinger                       3400 24-JUN-06
        187 Cabrio                          3000 07-FEB-07
        188 Chung                           3800 14-JUN-05
        189 Dilly                           3600 13-AUG-05
        190 Gates                           2900 11-JUL-06
        191 Perkins                         2500 19-DEC-07
        192 Bell                            4000 04-FEB-04
        193 Everett                         3900 03-MAR-05
        194 McCain                          3200 01-JUL-06
        195 Jones                           2800 17-MAR-07
        196 Walsh                           3100 24-APR-06

EMPLOYEE_ID LAST_NAME                     SALARY HIRE_DATE
----------- ------------------------- ---------- ---------
        197 Feeney                          3000 23-MAY-06

....................................