870 likes | 1.12k Views
ภาษา SQL (Structured Query Language). ความเป็นมาของ SQL
E N D
ความเป็นมาของ SQL SQLย่อมาจาก Structured Query Language เป็นภาษาที่ใช้ในการจัดการข้อมูลของฐานข้อมูลเชิงสัมพันธ์ ผู้คิดค้น SQL เป็นรายแรกคือ บริษัทไอบีเอ็ม หลังจากนั้นผู้ผลิตซอฟท์แวร์ด้านระบบจัดการฐานข้อมูลเชิงสัมพันธ์ได้พัฒนาระบบที่สนับสนุน SQL มากขึ้น จนเป็นที่นิยมใช้กันอย่างแพร่หลายในปัจจุบัน โดยผู้ผลิตแต่ละรายก็พยายามที่จะพัฒนาระบบจัดการฐานข้อมูลของตนให้มีลักษณะเด่นเฉพาะขึ้นมา ทำให้รูปแบบการใช้คำสั่ง SQL มีรูปแบบที่แตกต่างกันไปบ้าง เช่น ORACLE ACCESS SQL Base ของ Sybase INGRES
หรือ SQL Server ของ Microsoft เป็นต้น ในขณะที่ American National Standards Institute (ANSI) ได้กำหนดรูปแบบมาตราฐานของ SQL ขึ้น ซึ่งเป็นมาตราฐานคำสั่ง SQL ตาม ANSI-86 ที่ใข้เป็นมาตราฐานขั้นต่ำในการอ้างอิง อย่างไรก็ตามรูปแบบมาตราฐาน SQL ตาม ANSI-86 มีข้อจำกัดในการใช้คำสั่ง SQL เช่นกันเมื่อเปรียบเทียบกับ SQL ของระบบจัดการฐานข้อมูล ผู้ที่ผลิตบางรายได้ทำการปรับปรุงพัฒนาให้เป็นประโยชน์และง่ายสำหรับผู้ใช้อยู่ตลอดเวลา
ทำไมต้องใช้ SQL SQLเป็นภาษาในยุคที่ 4 ซึ่งใกล้เคียงภาษาพูด (ภาษาอังกฤษ) ทำให้ง่ายต่อการใช้และทำความเข้าใจ ไม่ต้องสนใจขั้นตอนว่าต้องทำอย่างไรเพื่อให้ได้ข้อมูลมาแค่เพียงพิมพ์คำสั่งง่าย ๆ ลงไปเพื่อบอกว่าเราต้องการข้อมูลอะไรจากตารางไหน ระบบจัดการฐานข้อมูล (DBMS) จะทำการค้นหาข้อมูลให้ทันที SQL สารารถจะทำงานร่วมกับภาษาโปรแกรมอื่นได้เช่น C, PASCAL, COBOL เราสามารถจะใช้SQL ร่วมกับภาษเหล่านี้ให้ร่วมกันได้โดยจะใช้ภาษาเหล่ายนี้ในการเขียนโปรแกรม
ของการคำนวณที่ซับซ้อนการประมวลผลต่าง ๆ แล้วใช้ภาษาSQL ในการจัดหาค้นหาเปลี่ยนแปลงข้อมูลนอกจากนี้เรายังสามารถจะเขียนคำสั่ง SQL แบบโต้ตอบโดยตรง(Interactive) ทีละคำสั่งได้ด้วยSQL เป็นภาษามาตราฐานซึ่งจะมีรูปแบบในการเขียนคำสั่งคล้าย ๆ กันไม่ว่าจะใช้งานบนเครื่อง Microsoft Computer หรือเครื่องอื่น ๆ SQL เป็นตัวจักรสำคัญของระบบฐานข้อมูลเชิงสัมพันธ์ทั้งที่ผู้ผลิต Hardware และ Software รายใหญ่ต่างที่เข้ามามีส่วนร่วมในการพัฒนาผลิตภัณฑ์ให้ทำงานกับ SQL อย่างมีประสิทธิภาพยิ่งขึ้น
ประเภทของคำสั่ง SQL 1. ภาษาสำหรับนิยามข้อมูล (Data Definition Language: DDL) ประกอบด้วยคำสั่งที่ใช้ในการกำหนดโครงสร้างข้อมูลว่ามีคอลัมน์อะไร แต่ละคอลัมน์เก็บข้อมูลประเภทใด รวมถึงการเพิ่มคอลัมน์ การกำหนดดัชนี การกำหนดวิวของผู้ใช้ เป็นต้น 2. ภาษาสำหรับจัดดำเนินการข้อมูล (Data Manipulation Language : DML) ประกอบด้วยคำสั่งที่ใช้ในการเรียกข้อมูล การเปลี่ยนแปลงข้อมูล การเพิ่มหรือลบข้อมูล เป็นต้น
3. ภาษาที่ใช้ในการควบคุมข้อมูล (Data Control Language : DCL) ประกอบด้วยคำสั่งที่ใช้ในการควบคุม การเกิดภาวะพร้อมกัน หรือป้องกันการเกิดเหตุการณ์ที่ผู้ใช้หลายคนเรียกใช้ข้อมูลพร้อมกัน โดยที่ข้อมูลนั้น ๆ อยู่ในระหว่างการปรับปรุงแก้ไข ซึ่งเป็นเวลาเดียวกับที่ผู้ใช้อีกคนหนึ่งก็เรียกใช้ข้อมูลนี้ ทำให้ช้อมูลที่ผู้ใช้คนที่สองได้เป็นค่าที่ไม่ถูกต้อง นอกจากนี้ ยังประกอบด้วยคำสั่งที่เกี่ยวข้องกับการควบคุมความปลอดภัยของข้อมูลด้วยการให้สิทธิ์ผู้ใช้แตกต่างกัน เป็นต้น
รูปแบบการใช้คำสั่ง SQL รูปแบบของการใช้คำสั่ง SQL สามารถใช้ได้ 2 รูปแบบ ดังนี้ 1. คำสั่ง SQL ใช้เรียกดูข้อมูลแบบตอบโต้ (Interactive SQL) เป็นการใช้คำสั่ง SQL สั่งงานบนจอภาพ เพื่อเรียกดูข้อมูลจากฐานข้อมูลได้โดยตรงในะขณะที่ทำงาน 2. คำสั่ง SQL ที่ใช้เขียนร่วมกับโปรแกรมอื่น ๆ (Embedded QSL) เป็นการนำคำสั่ง SQL ไปใช้ร่วมกับชุดคำสั่งที่เขียนโดยภาษาต่าง ๆ เช่น COBOL PASCAL ACCESS ฯลฯ
ประโยชน์ของ SQL ตามที่ได้กล่าวมาแล้วในข้างต้นว่า SQL เป็นภาษาฐานข้อมูล ที่สามารถใช้ในเรื่องของการนิยามข้อมูล การเรียกใช้ หรือการควบคุมคำสั่งเหล่านี้จะช่วยประหยัดเวลาในการพัฒนาระบบงาน หรือนำไปใช้ในส่วนของการสร้างฟอร์ม (FORM) การทำรายงาน (REPORT) ของระบบงานต่าง ๆ ได้รวดเร็วยิ่งขึ้น
ข้อตกลงมาตราฐานในการใช้คั่ง SQL รูปแบบของคำสั่ง SQL ยึดรูปแบบคำสั่ง SQL ที่สามารถนำไปประยุกต์ใช้กับ ORACLE ซึ่งเมื่อเข้าใจคำสั่งเหล่านี้ ผู้ใช้สามารถนำไปประยุกต์ใช้กับคำสั่ง SQL ที่ใช่ระบบจัดการฐานข้อมูลต่าง ๆ หรือสามารถนำไปศึกษาเพิ่มเติมรายละเอียดด้วยตนเองได้ โดยทั่วไป คำสั่ง SQL หนึ่ง ๆ จะจบด้วยเครื่องหมาย ; รูปแบบคำสั่งใน SQL มีสัญลักษณ์ที่ใช้แทนความหมาย ดังนี้
ฐานข้อมูลเชิงสัมพันธ์ฐานข้อมูลเชิงสัมพันธ์ ฐานข้อมูลเชิงสัมพันธ์ (Relational Database) เป็นฐานข้อมูลรูปแบบหนึ่งที่นิยมใช้ในปัจจุบัน เนื่องจากเป็นฐานข้อมูลที่เข้าใจง่าย ผู้ใช้ทั่วไปสามารถมองภาพของข้อมูลที่ถูกเก็บได้ง่ายเพราะข้อมูลถูกจัดเก็บในลักษณะของตารางสองมิติ คือเป็นแถว(Row) และคอลัมน์(Column) เป็นรูปแบบฐานข้อมูลที่ไม่ซับซ้อนและมีเครื่องมือที่ช่วยในการเรียกใช้ข้อมูลโดยคำสั่งง่ายๆ เช่น SQL เป็นต้น
ความหมายของฐานข้อมูลเชิงสัมพันธ์ความหมายของฐานข้อมูลเชิงสัมพันธ์ ฐานข้อมูลเชิงสัมพันธ์เป็นฐานข้อมูลที่มีการจัดเก็บข้อมูลเป็นแถว และคอลัมน์ในลักษณะของตารางสองมิติ โดยที่คอลัมน์หรือแอททริบิวต์ในตารางต่าง ๆ ได้มีการออกแบบและผ่านการทำให้เป็นแบบบรรทัดฐาน(Normalized) ทั้งนี้เพื่อลดความซ้ำซ้อน ความผิดพลาดที่เกิดจาการเพิ่ม ลบ หรือปรับปรุงข้อมูล และทำให้การจัดการฐานข้อมูลเป็นไปอย่างมีประสิทธิภาพ
คุณลักษณะของข้อมูลที่จัดเก็บในตารางคุณลักษณะของข้อมูลที่จัดเก็บในตาราง คุณลักษณะของข้อมูลที่จัดเก็บในตาราง เป็นดังนี้ 1. ข้อมูลในแต่ละแถวจะไม่ซ้ำกัน ข้อมูลที่จัดเก็บในแต่ละแถวจะไม่มีข้อมูลซ้ำกัน โดยทั่วไประบบจัดการฐานข้อมูลจะมีกลไกที่ใช้ในการควบคุมไม่ให้มีความซ้ำซ้อนเกิดขึ้น 2. การเรียงลำดับของคอลัมน์จะเรียงลำดับก่อนหลังอย่างไรก็ได้ การเรียงลำดับของคอลัมน์แต่ละคอลัมน์ของตารางจะเรียงลำดับอย่างไรก็ได้ ไม่การระบุว่าคอลัมน์ซ้ายสุด คือ คอลัมน์แรก หรือคอลัมน์ขวาสุด คือคอลัมน์สุดท้าย
3. การเรียงลำดับของข้อมูลในแต่ละแถวไม่เป็นสาระสำคัญ การจัดเก็บของข้อมูลในรีเลชั้น จะถูกจัดเรียงตามลำดับลงบนสื่อที่เก็บข้อมูล การจัดเก็บข้อมูลมนตารางสามารถแสดงให้เป็นไปตามที่ผู้ใช้ต้องการ (Logical Level) นอกเหนือจากที่แสดงตามที่ถูกจัดเก็บจริง(Physical Level) 4. ค่าของข้อมูลในแต่ละคอลัมน์ จะบรรจุข้อมูลได้เพียงค่าเดียว ข้อมูลมนแต่ละคอลัมน์จะต้องบรรจุข้อมูลเพียงค่าเดียวไม่ใช่กลุ่มของข้อมูลที่แสดงค่าที่มากกว่าหนึ่ง
ประเภทของคีย์ เค้าร่างของตารางหรือรีเลชั่น(Table/Relation Schema) ประกอบด้วยรายละเอียดข้อมูลของคอลัมน์ต่าง ๆ ซึ่งคอลัมน์ใดคอลัมน์หนึ่งในตารางมีโอกาสที่จะมีคุณสมบัติเป็นคีย์ โดยคีย์นั้น ๆ สามารถใช้ในการแสดงหรือบ่งบอกถึงค่าของข้อมูลที่เหลือในแต่ละแถว หรือใช้ในการเชื่อมโยงข้อมูลกับข้อมูลกับอีกตารางหนึ่ง ประของคีย์ที่จะกล่าวในที่นี้ แบ่งเป็น 2 ประเภทหลัก ดังนี้คือ
1. คีย์หลัก (Primary Key)เป็นคอลัมน์ทีมีคุณสมบัติของข้อมูลที่เก็บเป็นค่าเฉพาะไม่ซ้ำกัน คุณสมบัติดังกล่าวจะสามารถระบุว่าข้อมูลนั่นเป็นข้อมูลแถวใด เช่น รหัสพนักงาน เลขที่ 2001 สามารถระบุว่าเป็นรหัสของพนักงานชื่อ CHAI เป็นต้น อย่างไรก็ตาม ในตารางหนึ่ง ๆ อาจจะมีคอลัมน์ที่มีคุณสมบัติเป็นคีย์หลักได้มากกว่าหนึ่งคอลัมน์ คอลัมน์เหล่านี้มีคุณสมบัติเป็นคีย์คู่แข่ง (Candidate Key) คุณสมบัติของคอลัมน์ที่เป็นคีย์หลัก จะต้องไม่มีค่าของคอลัมน์ในแถวต่าง ๆ ซ้ำกัน เช่น ถ้ารหัสพนักงานเป็นคีย์หลัก ค่าของรหัสพนักงานแต่ละคนจะต้องมีค่าที่ไม่ซ้ำกัน เป็นต้น คีย์หลักอาจประกอบด้วยคอลัมน์มากกว่าหนึ่งคอลัมน์ (Composite Key) เพื่อให้เป็นค่าข้อมูลที่ไม่ซ้ำกัน
2. คีย์นอก (Foreign Key)เป็นคอลัมน์ในตารางหนึ่งที่สามารถใช้ในการเชื่อมโยงข้อมูลกับอีกตารางหนึ่งที่มีคอลัมน์เดียวกันนี้ปรากฏอยู่ต้วอย่างเช่น ตาราง EMPLOYEE มีคอลัมน์ DEPNO เป็นคีย์นอกที่ใช้ในการเชื่อมโยงข้อมูลของตาราง DEP ซึ่งมีคอลัมน์ DEPNO เป็นคีย์หลักอยู่ สมมุติว่าต้องการดูพนักงานรหัส 1001 อยู่แผนก ชื่ออะไร จากตาราง EMPLOYEE พนักงาน 1001 มีค่ารหัสแผนกเท่ากับ 10 รหัสนี้จะตรวจสอบกับรหัสแผนก (DEPNO) ในตาราง DEP ก็จะได้ชื่อแผนกว่า ACCOUNTING เป็นต้น
กฏที่ใช้กับฐานข้อมูลเชิงสัมพันธ์กฏที่ใช้กับฐานข้อมูลเชิงสัมพันธ์ เนื่องจากตาราง ๆ ในฐานข้อมูลเชิงสัมพันธ์จะอ้างอิงความสัมพันธ์โดยใช้คีย์ กฏที่เกี่ยวข้องกับคีย์ในฐานข้อมูลเชิงสัมพันธ์มีดังต่อไปนี้ 1 กฏความบูรณภาพของเอนทิตี้ (The Entity Integrity Rule)กฏนี้ระบุไว้ว่า คอลัมน์ใดที่จะเป็นคีย์หลัก ข้อมูลในคอลัมน์นั้นจะเป็นค่าว่าง (Null) ไม่ได้ ความหมายของการเป็นค่าว่างไม่ได้ (Not Null) คือ ข้อมูลของคอลัมน์ที่เป็นคีย์หลักจะไม่มีค่าไม้ได้
2. กฏความบูรณภาพของการอ้างอิง (The Referential Integrity Rule)การอ้างอิงข้อมูลระหว่างตารางในฐานข้อมูลเชิงสัมพันธ์จะใช้คีย์หลักของตารางในฐานข้อมูลเชิงสัมพันธ์ไปตรวจสอบกับค่าของคอลัมน์ที่เป็นคีย์นอกของอีกตารางหนึ่ง กล่างอีกนัยหนึ่งคือค่าของคีย์นอกจะต้องสามารถอ้างอิงให้ตรงกับค่าของคีย์หลักได้จึงจะเชื่อมโยงหรืออ้างอิงข้อมูลระหว่างสองตารางได้
สำหรับคีย์นอกจะมีค่าว่างได้ (Null) หรือไม่ขึ้นอยู่กับกฏเกณฑ์การออกแบบฐานข้อมูลว่า ข้อจำกัดในการออกแบบข้อมูลตามนโยบายของหน่วยงานนั้น ๆ เป็นอย่างไร เช่น ในกรณีตาราง EMPLOYEE ซึ่งมีรหัสแผนก (DEPNO) เป็นคีย์นอก อาจจะถูกระบุว่าต้องทราบค่า ในกรณีที่พนักงานทุกคนจะถูกบรรจุเข้าแผนกต่าง ๆ หรือบางหน่วยงานอาจจะทำให้การทดลองงานก่อนแล้วค่อยบรรจุเข้าแผนกต่าง ๆ ในกรณีหลังนี้พนักงานนั้นก็จะยังไม่มีค่ารหัสแผนกปรากฏอยู่ เป็นต้น
คำสั่ง SQL การเรียกคำสั่งใน SQL ในการดูข้อมูลในโปรแกรมACCESS คำสั่ง SELECT 1.กำหนดข้อมูลใน QUERY เรียกชื่อ TABLE ที่ต้องการ 2.เมนู VIEW เลือกคำสั่ง SQL view 3.พิมพ์คำสั่ง 4. RUN รูปเพื่อแสดงผล
การเรียกดูข้อมูลทั้งตารางการเรียกดูข้อมูลทั้งตาราง รูปแบบของคำสั่ง SELECT เพื่อใช้เรียกดูข้อมูลทุกคอลัมน์จากตารางใดตารางหนึ่งเป็นดังนี้คือ รูปแบบ Select * From table name; ในการเรียกดูข้อมูลทั้งตารางจะต้องใช้เครื่องหมาย * เพื่อแทนการเรียกดูข้อมูลจากทุกคอลัมน์ของตารางหนึ่ง เช่นเรียกดูข้อมูลทั้งตารางของ EMPLOYEE คำสั่งที่ใช้คือ Select * From EMPLOYEE;
การเรียกดูข้อมูลเพียงบางคอลัมน์การเรียกดูข้อมูลเพียงบางคอลัมน์ รูปแบบคำสั่ง SELECT เพื่อเรียกดูข้อมูลเพียงคอลัมน์จากตารางใดตารางหนึ่ง คือ รูปแบบ Select Column1, Column2... From table name; ในการเรียกดูข้อมูลเพียงบางคอลัมน์ จำเป็นต้องระบุชื่อคอลัมน์ให้ถูกต้อง ตามที่ระบุไว้ในโครงสร้าง หากเรียกดูมากกว่าหนึ่งคอลัมน์จะต้องมีเครื่องหมาย , คั่นระหว่างซื่อคอลัมน์
เช่น ต้องการเรียกดู ชื่อพนักงาน ตำแหน่ง เงินเดือน คำสั่งที่ใช้คือ Select NAME, POSITION, SALARY From EMPLOYEE;
การเรียกดูข้อมูลโดยเปลี่ยนชื่อฟิลด์การเรียกดูข้อมูลโดยเปลี่ยนชื่อฟิลด์ ในบางครั้งชื่อฟิลด์ที่เราตั้งขึ้นอาจจะไม่ตรงกับความต้องการ เราสามารถเปลี่ยนชื่อของฟิลด์ใหม่ในการเรียกดูข้อมูลได้โดยใช้ AS เช่น ต้องการชื่อฟิลด์ POSITION เป็น DEPT คำสั่งที่ใช้คือ Select POSITION AS DEPT From EMPLOYEE;
การเรียกดูข้อมูลโดยไม่ให้แสดงข้อมูลที่ซ้ำกันการเรียกดูข้อมูลโดยไม่ให้แสดงข้อมูลที่ซ้ำกัน เมื่อต้องการดูข้อมูลจากตารางโดยไม่ให้แสดงข้อมูลซ้ำกันออกมา จะใช้คำว่า DISTINCTหลังคำว่า SELECT เช่น ต้องการเรียกดู ชื่อพนักงาน ตำแหน่งของพนักงานที่ไม่ซ้ำกัน คำสั่งที่ใช้คือ Select DISTINCT NAME, POSITION From EMPLOYEE;
Top n เป็นการเลือกเรคคอร์ดจากตำแหน่งของเรคคอร์ดแรกไปยังตำแหน่งของเรคคอร์ดระบุไว้ เช่น ต้องการเรียกดู เรคคอร์ดแรกถึงเรคคอร์ดที่5 คำสั่งที่ใช้คือ Select Top 5 * From EMPLOYEE;
การเรียกดูข้อมูลโดยแสดงผลข้อมูลทางคอลัมน์เป็นนิพจน์ทางคณิตศาสตร์การเรียกดูข้อมูลโดยแสดงผลข้อมูลทางคอลัมน์เป็นนิพจน์ทางคณิตศาสตร์ เครื่องหมายความหมาย + (Add) บวก - (Subtract) ลบ * (Multiply) คูณ / (Divide) หาร
เช่น ต้องการคำนวณหาเงินเดือนสุทธิหลังหักภาษี 3% ของเงินเดือน คำสั่งที่ใช้คือ Select EMPNAME, SALARY-(SALARY*0.03)AS TOTAL_SALARY From EMPLOYEE;
การจัดเรียงลำดับผลลัพธ์โดยใช้ ORDER BY ORDER BY เป็นคำสั่งที่ใช้สำหรับการเรียงลำดับหรือ Sorting ขัอมูลตามอักษรหรือฟิลด์ที่กำหนด สามารถกำหนดการเรียงจากมากไปหาน้อย (Descending order (DESC) หรือจากน้อยไปหามาก (Ascending order (ASC) โดยทั่วไปแล้วจะเรียงลำดับจากน้อยไปหามากเสมอ
เช่น ต้องการเรียงลำดับชื่อของพนักงาน
นอกจากนี้การใช้ ORDER BY ยังสามารถใช้เลขกำกับแทนการใช้ชื่อฟิลด์ได้อีกด้วย เช่น การเรียกดูข้อมูลโดยจัดเรียงผลลัพธ์ตามชื่อมากไปหาน้อย และเงินเดือนด้วย Select EMPNAME, SALARY From EMPLOYEE ORDER BY 1 DESC, 2;
การเรียกดูข้อมูลแบบมีเงื่อนไข การเรียกดูข้อมูลแบบมีเงือนไขเป็นการระบุค่าเฉพาะของข้อมูลที่ต้องการเรียกดูอาจจะใช้เงื่อนไขเพื่อดึงดูข้อมูลของพนักงานที่มีเงินเดือนมากกว่า 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"; หรือ