วันอาทิตย์ที่ 14 ธันวาคม พ.ศ. 2557

คำสั่ง SELECT พื้นฐาน

คำสั่ง SELECT พื้นฐาน

คุณสามารถเขียนคำสั่ง SQL ได้หลายบรรทัด. สำหรับคำสั่ง SQL ในโปรแกรมพรีคอมไพล์, กฎสำหรับการต่อบรรทัดที่ใช้จะเป็นกฎเดียวกับของภาษาโฮสต์ (ภาษาที่ใช้เขียนโปรแกรม). นอกจากนี้คุณสามารถเรียกใช้คำสั่ง SELECT จากเคอร์เซอร์ในโปรแกรมได้. และสุดท้าย, คำสั่ง SELECT สามารถสร้างในแอ็พพลิเคชันแบบไดนามิกส์ได้.

หมายเหตุ:
  1. คำสั่ง SQL ที่อธิบายในส่วนนี้สามารถใช้งานได้กับตาราง วิว, และไฟล์ฐานข้อมูลทั้งแบบฟิสิคัลและโลจิคัล.
  2. สตริงอักขระที่ถูกระบุในคำสั่ง SQL (เช่น ค่าที่ถูกใช้ด้วย WHERE หรือ VALUES clause) จะตรงตามตัวอักษรพิมพ์ใหญ่หรือพิมพ์เล็ก; นั่นคือ, ตัวอักษรพิมพ์ใหญ่ต้องถูกป้อนในแบบตัวพิมพ์ใหญ่และตัวอักษรพิมพ์เล็กต้องถูกป้อนด้วยตัวพิมพ์เล็ก.
    WHERE ADMRDEPT='a00'     (จะไม่คืนค่าผลลัพธ์)
     
    WHERE ADMRDEPT='A00'     (จะคืนค่าหมายเลขแผนกที่ถูกต้อง)
    การดำเนินการเปรียบเทียบอาจจะไม่เป็นแบบตรงตามตัวอักษรพิมพ์ใหญ่พิมพ์เล็กถ้าใช้การเรียงแบบ shared-weight ซึ่งจะถือว่าตัวอักษรพิมพ์ใหญ่และตัวอักษรพิมพ์เล็กเป็นตัวอักขระเดียวกัน.
รูปแบบและซินแทกซ์ดังแสดงในที่นี่จะเป็นอย่างง่าย. คำสั่ง SELECT อาจแตกต่างจากตัวอย่างที่แสดงในบทนี้. คำสั่ง SELECT อาจประกอบด้วยสิ่งต่อไปนี้:
  1. ชื่อของแต่ละคอลัมน์ที่คุณต้องการรวม
  2. ชื่อของตารางหรือมุมมองที่มีข้อมูลอยู่
  3. เงื่อนไขการค้นหาที่ระบุแถวที่มีข้อมูลที่คุณต้องการ
  4. ชื่อของแต่ละคอลัมน์ที่ใช้เพื่อจัดกลุ่มข้อมูลของคุณ
  5. เงื่อนไขการค้นหาที่ระบุกลุ่มที่มีข้อมูลที่คุณต้องการ
  6. ลำดับการเรียงของผลลัพธ์ เพื่อให้ส่งคืนแถวที่ต้องการซึ่งอยู่ท่ามกลางข้อมูลที่ซ้ำๆ กัน.
คำสั่ง SELECT จะมีลักษณะดังนี้:
   SELECT ชื่อคอลัมน์
     FROM ชื่อตารางหรือชื่อมุมมอง
     WHERE เงื่อนไขการค้นหา
     GROUP BY ชื่อคอลัมน์
     HAVING เงื่อนไขการค้นหา
     ORDER BY ชื่อคอลัมน์
SELECT และ FROM clause จะต้องถูกระบุ. ส่วน clause อื่นจะเป็นตัวเลือกว่าจะระบุหรือไม่ก็ได้.
การใช้ SELECT clause, จะทำให้คุณระบุชื่อของแต่ละคอลัมน์ที่คุณต้องการดึงค่าได้. ตัวอย่างเช่น:
   SELECT EMPNO, LASTNAME, WORKDEPT
   
  ·
  ·
  ·
คุณสามารถระบุว่าให้ดึงข้อมูลแค่คอลัมน์เดียวเท่านั้น, หรือได้มากสุดถึง 8000 คอลัมน์. ค่าของแต่ละคอลัมน์ที่คุณเลือกจะถูกดึงข้อมูลในลำดับที่ระบุใน SELECT clause.
ถ้าคุณต้องการดึงค่าคอลัมน์ทั้งหมด (ในลำดับเดียวกับที่ปรากฎใน definition ของตาราง), ให้ใช้เครื่องหมายดอกจัน (*) แทนการใช้ชื่อคอลัมน์:
   SELECT *
   
  ·
  ·
  ·
FROM clause จะระบุตารางที่คุณต้องการเลือกข้อมูลจาก. คุณสามารถเลือกคอลัมน์จากตารางมากกว่าหนึ่งตารางได้. เมื่อเรียกใช้คำสั่ง SELECT, คุณต้องระบุ FROM clause ด้วย. ใช้คำสั่งดังต่อไปนี้:
SELECT *
       FROM EMPLOYEE
ผลลัพธ์คือคอลัมน์ทั้งหมดและแถวทั้งหมดจากตาราง EMPLOYEE.
รายการของ SELECT อาจมี นิพจน์, รวมถึงค่าคงที่, register พิเศษ, และการเลือกครั้งย่อยแบบ scalar ได้. AS clause ยังสามารถใช้ตั้งชื่อคอลัมน์ผลลัพธ์. ตัวอย่างเช่น, ลองเรียกใช้คำสั่งดังต่อไปนี้:
SELECT LASTNAME, SALARY * .05 AS RAISE
       FROM EMPLOYEE
       WHERE EMPNO = '200140'
ผลลัพธ์ของคำสั่งนี้คือ:
ตารางที่ 7. ผลลัพธ์สำหรับการสืบค้น
LASTNAMERAISE
NATZ1421
ถ้า SQL ไม่สามารถหาแถวที่ตรงกับเงื่อนไขการค้นหา, SQLCODE ที่มีค่าเป็น +100 จะถูกคืนค่ากลับมา.

ถ้า SQL เจอข้อผิดพลาดขณะรันคำสั่ง Select, SQLCODE ที่มีค่าเป็นลบจะถูกคืนค่ากลับมา. ถ้า SQL เจอตัวแปรโฮสต์มากกว่าผลลัพธ์, ค่า +326 จะถูกคืนค่ากลับมา.

ข้อสอบ o-net

1.ข้อใดไม่ใช่ระบบปฏิบัติการที่นำมาใช้บนอุปกรณ์พกพา
ประเภท  Smartphone.
1.  Ubumtu       2.  Iphone  os
3.  Android      4.  Symbian
เฉลยข้อ  1
2.ไฟล์ประเภทใดในข้อต่อไปนี้เก็บข้อมูลในลักษณะตัวอักษร.
1.  ไฟล์เพลง  MP 3 (mp 3)
2.  ไฟล์รูปประเภท  JPEG (jpeg)
3.  ไฟล์แสดงผลหน้าเว็บ (html)
4.  ไฟล์วีดีโอประเภท  Movie (movie)
เฉลยข้อ  3
3.ลิขสิทธิ์โปรแกรมประเภทรหัสเปิด(Open Source)อนุญาต
ให้ผู้ใช้ทำอะไรได้บ้าง.
ก.  นำโปรแกรมมาใช้งานโดยไม่ต้องเสียค่าลิขสิทธิ์
ข.  ทดลองใช้โปรแกรมก่อนถ้าพอใจจึงจ่ายค่าลิขสิทธิ์
ค.  แก้ไขปรับปรุงโปรแกรมเองได้
1.  ข้อ  ก กับ  ข้อ  ค      2.  ข้อ  ข  กับ  ข้อ  ค
3.  ข้อ  ข  อย่างเดียว     4.  ข้อ  ก  อย่างเดียว
เฉลยข้อ  4
4.ระบบกระดานสนทนาหรือเว็บบอร์ดแห่งหนึ่งมีความต้องการดังนี้
ก.  ต้องให้ผู้ใช้สามารถตั้งกระทู้โต้ตอบกันได้โดยผู้ใช้
ต้องแสดงตัวตน(ล็อกอิน)เพื่อเข้าระบบก่อน
ข.  ผู้ใช้สามารถตั้งกระทู้หรือเข้าไปตอบกระทู้ที่ตั้งไว้แล้วได้
ค.  ระบบจะบันทึกชื่อผู้ตั้งและผู้ตอบไว้ด้วย
ในการออกแบบฐานข้อมูลดังกล่าวข้อใดกล่าวได้ถูกต้อง.
1.  ต้องสร้างตารางผู้ใช้ ตารางกระทู้และตารางคำตอบ
2.  ไม่ต้องสร้างตารางผู้ใช้เนื่องจากสามารถบันทึกชื่อ
ผู้ใช้ในตารางกระทู้และตารางคำตอบได้เลย
3.  ต้องสร้างตารางผู้ใช้และตารางกระทู้ส่วนคำตอบจะอยู่
ในตารางกระทู้อยู่แล้ว
4.  ไม่ต้องสร้างตารางกระทู้เพราะสามารถบันทึกกระทู้ที่ผู้ใช้
ตั้งในตารางผู้ใช้ได้เลย
เฉลยข้อ  4
5.อุปกรณ์ข้อใดคือหน่วยประเมินผลกลางของคอมพิวเตอร์.
เฉลย  CPU
6.ข้อใดเป้นการปฏิบัติที่ถูกต้องตามหลักวิชาการเมื่อค้นคว้า
หาข้อมูลจากอินเทอร์เนตมาทำรายงาน.
1.  คัดลอกเนื้อหาจากเว็บไซต์
2.  ใช้เนื้อหาจากกระดานสนทนา(Web board)มาใส่ในรายงาน
3.  นำรูปภาพจากเว็บไซต์มาใส่ในรายงาน
4.  อ้างอิงชื่อผู้เขียนบทความ
เฉลยข้อ  4
5.ห้องสมุดแห่งหนึ่งต้องการพัมนาระบบยืมหนังสือโดยสามารถ
บันทึกข้อมูลการยืมหนังสือลงบนบัตรอิเลคโทรนิกส์โดยไม่ต้อง
เขียนด้วยมือระบบนี้ควรใช้เทคโนโลยีในข้อใด.
1.  Smart  Card          2.  Fingerprint
3.  Barcode                 4.  WiFi
เฉลยข้อ  3
6.ผู้ประกอบอาชีพเป็นผู้พัฒนาเว็บไซต์ต้องเชี่ยวชาญความรู้
ด้านใดบ้างจากตัวเลือกต่อไปนี้.
ก.  ฮาร์แวร์คอมพิวเตอร์       ข.  ระบบปฎิบัติการ
ค.  เว็บเซิร์ฟเวอร์                   ง.  HTML
จ.  ระบบฐานข้อมูล                ฉ.  ภาษาจาวา(Java)
1.  ข้อ  ก และ ค                    2.  ข้อ  ข  และ  จ
3.  ข้อ  ค  และ  ง                   4.  ข้อ  ค  และ  ฉ
เฉลยข้อ  3
7.ข้อใดเป็นเทคโนโลยีการเชื่อมต่อข้อมูลไร้สายทั้งหมด.
1.  Wi-Fi  ,  IP              2.  Wi-Fi  ,Bluetooth
3.  3G  ADSL                4.  3G    Ethernet
เฉลยข้อ  2
8.ข้อใดไม่ใช่ข้อเสียของการละเมิดลิขสิทธิ์ซอฟต์แวร์.
1.  การทำผิดกฏหมายลิขสิทธิ์มีความผิดทางอาญา
2.  เป็นช่องทางหนึ่งในการระบาดของไวรัสคอมพิวเตอร์
3.  ผู้ใช้จะไม่ได้รับการบริการจากผู้พัมนาถ้าหากมีปัญหาการใช้งาน
4.  ทำให้ผู้พัมนาซอฟแวร์ไม่มีรายได้เพื่อประกอบการและพัฒนาต่อไปได้
เฉลยข้อ  2
9.ข้อใดต่อไปนี้ถูกต้องที่สุด.
1.  การบันทึกข้อมูลลงแผ่นดีวีดีใช้เทคโนโลยีแบบแม่เหล็ก
2.  หมายเลขไอพีเป็นหมายเลขที่ใช้กำกับ  Network Interce Card
3.  หน่วยความจำสำรองเป็นหน่วยความจำที่มีคุณลักษณะแบบ Volntile
4.  รหัส ACIIและEBCIDICเป็นการวางรหัสตัวอักษรที่ใช้ขนาด  8 บิด
เฉลยข้อ  3