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 ....................................