E N D
การเรียกดูข้อมูลแบบมีเงื่อนไข การเรียกดูข้อมูลแบบมีเงือนไขเป็นการระบุค่าเฉพาะของข้อมูลที่ต้องการเรียกดูอาจจะใช้เงื่อนไขเพื่อดึงดูข้อมูลของพนักงานที่มีเงินเดือนมากกว่า 3000 เป็นต้นดังนั้นการเรียกดูข้อมูลแบบมีเงื่อนไขโดยมีโอเปอร์เรเตอร์ทางตรรกะหรือ โอเปอเรเตอร์ของ SQL เป็นต้นเป็นตัวประกอบในการแสดงเงื่อนไข การเรียกดูข้อมูลแบบมีเงื่อนไขจะใช้วลีหรืออนุประโยค WHERE ต่อท้ายวลีหรืออนุประโยค FROM รูปแบบคำสั่ง
รูปแบบ SELECT Column1, Column2... FROM table name WHERE CONDITION;
ในอนุประโยค WHERE ประกอบด้วยส่วนสำคัญ 3 ส่วนคือ ชื่อคอลัมน์ โอเปอเรเตอร์การเปรียบเทียบซึ่งแบ่งออกเป็นโอเปอเรเตอร์ทางตรรกะ (LOGICAL OPERATER) โอเปอเรเตอร์ SQL รวมถึงการใช้โอเปอเรเตอร์ BOOLEAN ข้อมูลเฉพาะที่ต้องการแสดงเป็นเงื่อนไขของชื่อคอลัมน์ที่ระบุในข้อ 1 อาจเป็นค่าคงที่ (CONSTANT) กลุ่มของข้อมูลหรือ นิพจน์(EXPRESSON) หรือชื่อคอลัมน์อื่นที่ต้องการนำมาเปรียบเทียบข้อมูลเฉพาะที่เป็นประเภทตัวอักษรหรือ วัน เดือน ปี (DATE) เมื่อนำมาเป็นเงื่อนไขเฉพาะจะต้องมีเครื่องหมาย ‘ ‘ กำกับ
ในอนุประโยค WHERE ประกอบด้วยส่วนสำคัญ 3 ส่วนคือ 1. ชื่อคอลัมน์ 2. โอเปอเรเตอร์การเปรียบเทียบซึ่งแบ่งออกเป็นโอเปอเรเตอร์ทางตรรกะ (LOGICAL OPERATER) โอเปอเรเตอร์ SQL รวมถึงการใช้โอเปอเรเตอร์ BOOLEAN 3. ข้อมูลเฉพาะที่ต้องการแสดงเป็นเงื่อนไขของชื่อคอลัมน์ที่ระบุในข้อ 1 อาจเป็นค่าคงที่ (CONSTANT) กลุ่มของข้อมูลหรือ นิพจน์(EXPRESSON) หรือชื่อคอลัมน์อื่นที่ต้องการนำมาเปรียบเทียบข้อมูลเฉพาะที่เป็นประเภทตัวอักษรหรือ วัน เดือน ปี (DATE) เมื่อนำมาเป็นเงื่อนไขเฉพาะจะต้องมีเครื่องหมาย ‘ ‘ กำกับ
เครื่องหมายการแสดงการเปรียบเทียบค่าข้อมูลเครื่องหมายการแสดงการเปรียบเทียบค่าข้อมูล โอเปอเรเตอร์ความหมาย = เท่ากับ > มากกว่า >= มากเท่ากับ < น้อยกว่า <= น้อยกว่าเท่ากับ <> ไม่เท่ากับ
เช่น ต้องการเรียกดูข้อมูลทั้งตาราง ที่มีเงือนไขเงินเดือนมากกว่า 30000 คำสั่งที่ใช้คือ Select * From EMPLOYEE WHERE SALARY>30000;
เช่น ต้องการเรียกดูข้อมูล รหัส ชื่อพนักงาน รหัสแผนก ของพนักงานที่มีตำแหน่ง MANAGER คำสั่งที่ใช้คือ Select EMPNUM, EMPNAME, DEPNO From EMPLOYEE WHERE POSITION ='MANAGER';
เช่น ต้องการเรียกดูข้อมูลชื่อพนักงานที่มีเงินเดือนต่อปีมากกว่า 300000 คำสั่งที่ใช้คือ Select EMPNAME, SALARY From EMPLOYEE WHERE SALARY*12>300000
การเรียกดูข้อมูลแบบมีเงื่อนไขโดยใช้คำสั่ง BETWEEN... AND.... BETWEEN...AND เป็นโอเปอรเรเตอร์ที่กำหนดเงื่อนไขของคอลัมน์เป็นค่าระหว่างค่าสองค่า การใช้ BETWEEN...AND จะแสดงต่อท้ายชื่อคอลัมน์ที่ถูกระบุให้เป็นเงื่อนไข
เช่น ต้องการเรียกดูข้อมูลที่แสดงชื่อ และเงินเดือนของพนักงานที่มีเงินเดือนอยู่ระหว่าง 20000 กับ 50000 คำสั่งที่ใช้คือ Select EMPNAME, SALARY From EMPLOYEE WHERE SALARY BETWEEN 20000 AND 50000; หรือ
การเรียกดูข้อมูลแบบมีเงื่อนไขโดยใช้คำสั่ง IN IN เป็นโอเปอรเรเตอร์ที่ใช้กับเงื่อนไขของคอลัมน์ที่ต้องการระบุเงื่อนไขเป็นกลุ่มของข้อมูลโดย IN จะแสดงต่อท้ายชื่อคอลัมน์ที่ถูระบุเป็นเงื่อนไข และกลุ่มของข้อมูลที่เป็นข้อมูลเฉพาะของคอลัมน์ที่เป็นเงื่อนไขนี้ จะระบุในวงเล็บ และมีเครื่องหมาย , คั่น
เช่น ต้องการเรียกดูข้อมูลรหัส ชื่อ เงินเดือน และรหัสผู้บังคับบัญขาของพนักงานที่มีรหัสผู้บังคับบัญชาเป็น 1002 2002 และ 3004 คำสั่งที่ใช้คือ Select EMPNUM, EMPNAME,SALARY,MRGNO From EMPLOYEE WHERE MRGNO IN ('1002', '2002', '3004'); หรือ
เช่น ต้องการเรียกดูข้อมูลของพนักงานที่อยู่แผนกที่มีรหัส 20 และ 40 โดยให้แสดงเรียงตามเงินเดือนจากมากไปหาน้อย คำสั่งที่ใช้คือ Select * From EMPLOYEE WHERE DEPNO IN('20', '40') ORDER BY SALARY DESC;
การเรียกดูข้อมูลแบบมีเงื่อนไขโดยใช้คำสั่ง LIKE LIKE เป็นโอเปอรเรเตอร์ที่ใช้ในการค้นหาข้อมูลของคอลัมน์ที่เก็บข้อมูลประเภทตัวอักษรเท่านั้น โดยยังไม่ทราบค่าที่แน่นอนทั้งหมดของข้อมูลที่จะค้นหา หรือรู้เพียงบางตัวอักษรเท่านั้น โอเปอเรเตอร์ LIKE จะระบุต่อท้ายชื่อคอลัมน์ที่เป็นเงื่อนไข โดยจะใช้สัญญาลักษณ์ช่วยในการค้นหาข้อมูลเป็นตัวช่วยในการค้นหาข้อมูลที่เรียกว่า Wild Card (อักขระพิเศษ) ดังนี้ ตัวอักขระพิเศษความหมาย * แทนอักษรใดๆ กี่ตัวก็ได้ ? แทนอักษรใดๆ 1 ตัว
การเรียกดูข้อมูลแบบมีเงื่อนไขโดยใช้คำสั่ง LIKE LIKE เป็นโอเปอรเรเตอร์ที่ใช้ในการค้นหาข้อมูลของคอลัมน์ที่เก็บข้อมูลประเภทตัวอักษรเท่านั้น โดยยังไม่ทราบค่าที่แน่นอนทั้งหมดของข้อมูลที่จะค้นหา หรือรู้เพียงบางตัวอักษรเท่านั้น โอเปอเรเตอร์ LIKE จะระบุต่อท้ายชื่อคอลัมน์ที่เป็นเงื่อนไข โดยจะใช้สัญญาลักษณ์ช่วยในการค้นหาข้อมูลเป็นตัวช่วยในการค้นหาข้อมูลที่เรียกว่า Wild Card (อักขระพิเศษ) ดังนี้ ตัวอักขระพิเศษความหมาย * แทนอักษรใดๆ กี่ตัวก็ได้ ? แทนอักษรใดๆ 1 ตัว
เช่น ต้องการเรียกดูข้อชื่อพนักงานที่ขึ้นต้นด้วยอักษร S อย่างเดียว คำสั่งที่ใช้คือ Select EMPNAME From EMPLOYEE WHERE EMPNAME LIKE"S*"; หรือ
เช่น ต้องการเรียกดูข้อชื่อพนักงานที่ลงท้ายด้วยอักษร E อย่างเดียว คำสั่งที่ใช้คือ Select EMPNAME From EMPLOYEE WHERE EMPNAME LIKE"*E"; หรือ
เช่น ต้องการเรียกดูข้อชื่อพนักงานที่มีอักษร Hเป็นตัวที่2ตามด้วยตัวอักษรอะไรก็ได้ คำสั่งที่ใช้คือ Select EMPNAME From EMPLOYEE WHERE EMPNAME LIKE"?H*"; หรือ
การเรียกดูข้อมูลแบบมีเงื่อนไขโดยใช้คำสั่งIS NULL IS NULL เป็นโอเปอเรเตอร์ที่ใช้ในแสดงค่าของคอลัมน์ที่มีค่าเป็นค่าว่าง หรือไม่มีค่า เช่น ให้แสดงชื่อคอลัมน์ที่ไม่มีผู้บังคับบัญชา คำสั่งที่ใช้คือ Select * From EMPLOYEE WHERE MRGNO IS NULL;
นอกจากโอเปอเรเตอร์ของSQL ทั้ง 4 ที่กล่าวมาข้างต้น โอเปอเรเตอร์เหล่านี้ยังสามารถใช้เป็นเงื่อนไขในเชิงปฏิเสธ โดยใช้ NOT นำหน้าดังนี้ โอเปอเรเตอร์ความหมาย NOT BETWEEN ... AND ไม่มีค่าอยู่ระหว่างค่า สองค่าที่ระบุ NOT IN ไม่มีค่าที่เป็นกลุ่มข้อมูล ที่ระบุ NOT LIKE ไม่มีค่าตามตัวอักษรหรือ สัญญาลักษณ์ IS NOT NULL ไม่มีค่าเป็นค่าว่าง
การเรียกดูข้อมูลแบบมีเงื่อนไขโดยใช้โอเปอเรเตอร์บูลีนการเรียกดูข้อมูลแบบมีเงื่อนไขโดยใช้โอเปอเรเตอร์บูลีน การเรียกดูข้อมูลที่มีเงื่อนไขมากกว่าหนึ่งเงื่อนไข สามารถใช้โอเปอเรเตอร์บูลีนเป็นตัวเชื่อมโยงเงื่อนไขดังกล่าว โอเปอเรเตอร์บูลีน ประกอบด้วย AND ใช้เชื่อมเงื่อนไขสองเงื่อนไข โดยข้อมูลที่จะแสดง ออกมาจะต้องเป็นจริงตามเงื่อนไขทั้งสอง OR ใช้เชื่อมเงื่อนไขสองเงื่อนไข โดยข้อมูลที่จะแสดง ออกมาจะต้องเป็นจริงตามเงื่อนไขใดเงื่อนไขหนึ่ง NOT ใช้แสดงหน้าเงื่อนไขใดเงื่อนไขหนึ่ง เพื่อให้ได้ข้อมูลที่ ไม่เป็นไปตามเงื่อนไขที่ระบุ