360 likes | 1.49k Views
การเลือกใช้คำสั่ง Select SQL ในการ สืบค้นข้อมูลใน Visual Foxpro. สมาชิก. นายไกรวุฒิ พูลสวัสดิ์ เลขที่ 4 นางสาวศุภิสรา จิตรตรง เลขที่ 10 นางสาวนิรมล อุบลศรี เลขที่ 12 นางสาวพรทิพย์ ราชวงษ์ เลขที่ 17 เวชระเบียน ปี 4. ความเป็นมาของภาษา SQL.
E N D
การเลือกใช้คำสั่ง Select SQL ในการ สืบค้นข้อมูลใน Visual Foxpro
สมาชิก นายไกรวุฒิ พูลสวัสดิ์ เลขที่ 4 นางสาวศุภิสรา จิตรตรง เลขที่10 นางสาวนิรมล อุบลศรี เลขที่12 นางสาวพรทิพย์ ราชวงษ์ เลขที่17 เวชระเบียน ปี 4
ความเป็นมาของภาษาSQL SQLจัดเป็นภาษามาตรฐานบนระบบฐาน ข้อมูลเชิงสัมพันธ์ซึ่งเป็นภาษาที่สามารถใช้งานได้ในคอมพิวเตอร์หลายระดับ ไม่ว่าจะเป็นระดับเมนเฟรมคอมพิวเตอร์จนถึงไมโครคอมพิวเตอร์
การใช้งานภาษา SQLในปัจจุบันมี 2 ลักษณะ คือ แบบโต้ตอบ (Interactive SQL)และ แบบฝังตัวในโปรแกรม (Embedded SQL)
วัตถุประสงค์ของSQL 1.สร้างฐานข้อมูลและโครงสร้างรีเลชั่น 2.สนับสนุนงานด้านการจัดการฐานข้อมูลพื้นฐาน 3.สนับสนุนการค้นหา สืบถาม หรือคิวรี่ ข้อมูลและการแปลงข้อมูล
ประเภทของคำสั่งภาษาSQL 1.ภาษานิยามข้อมูล (Data Definition Language : DDL) คำสั่งที่ใช้ # คำสั่ง CREATE คำสั่งที่ใช้ในการสร้าง # คำสั่ง DROP คำสั่งที่ใช้ในการลบ # คำสั่งALTERคำสั่งที่ใช้ในการเปลี่ยนแปลง โครงสร้างตาราง
2.ภาษาการจัดการข้อมูล (Data Manipulation Language : DML) คำสั่งที่ใช้ #SELECTคำสั่งที่ใช้ในการคิวรีข้อมูลในฐานข้อมูล #INSERTคำสั่งที่ใช้เพิ่มข้อมูลในตาราง #UPDATEคำสั่งที่ใช้ปรับปรุงข้อมูล(Update) ในตาราง #DELETEคำสั่งที่ใช้ลบข้อมูลออกจากตาราง
3.ภาษาควบคุมข้อมูล (Data Control Language : DCL)
คำสั่งพื้นฐานในการสืบค้นข้อมูลคำสั่งพื้นฐานในการสืบค้นข้อมูล คำสั่งSelect Statement คำสั่ง Selectเป็นคำสั่งที่ใช้เรียกดูข้อมูลจากตารางข้อมูล ตามความต้องการของผู้ใช้ โดยสามารถใช้ร่วมกับ Functionทางคณิตศาสตร์ หรือเงื่อนไขประกอบต่างๆใน SQL Commandได้ อีกทั้งยังสามารถเรียกดูข้อมูลจากหลายๆตารางพร้อมกัน
คำสั่งColumn_expression เป็นการแทนค่าชื่อคอลัมน์ หรือexpression , table_nameคือชื่อของตารางที่ต้องการเข้าถึงเพื่อวิวข้อมูล และaliasคือชื่อย่อของตารางที่ใช้แทนtable_name
ชุดคำสั่งSELECT มีดังนี้ ? FROMกำหนดตารางที่ต้องการใช้งาน ? WHEREสร้างเงื่อนไขเพื่อการกรอง (filter) แถวที่ต้องการ ? GROUP BYจัดกลุ่ม แถว ที่มีค่าคอลัมน์เดียวกัน ? HAVINGกรองกลุ่มเนื้อหาในบางเงื่อนไข จาก GROUP BY ? ORDER BYกำหนดให้เรียงผลลัพธ์ โดยที่ ASC คือ การเรียงลำดับจากน้อยไปมาก (Default) และ DESC คือการเรียงลำดับจากมากไปน้อย
SQL สามารถใช้เครื่องหมายเปรียบเทียบ (Comparison Operators) ต่างๆ ได้ดังนี้= , ? , ? , ? , ? และ ? ? หรือ? หรือใช้เครื่องหมายทางตรรกะ (logical Operators) (logical Operators) ได้แก่ AND , OR , NOT หรือการใช้เงื่อนไข (Condition) อื่นๆ เช่น
- BETWEEN / NOT BETWEEN ใช้แสดงข้อมูลเป็นช่วงๆ หรือระหว่างข้อมูลA ถึงB - IN / NOT IN ใช้แสดงตำแหน่งข้อมูลหรือกำหนดตำแหน่ง - LIKE / NOT LIKE เป็นโอเปอเรเตอร์ที่ใช้ในการค้นหาข้อมูลด้วยตัวอักษรด้วยเครื่องหมาย Wildcard เช่น % และ _ คล้ายๆ การใช้ * ใน DOS - IS NULL / IS NOT NULL ใช้ค้นหาข้อมูลที่บางคอลัมน์ของตาราง มี/ไม่มี ข้อมูล
การใช้ฟังก์ชั่นต่างๆ ในSQL - COUNT เป็นฟังก์ชั่นใช้ในการนับคำนวณ - SUM เป็นฟังก์ชั่นหาผลรวม -AVG เป็นฟังก์ชั่นหาค่าเฉลี่ย - MINเป็นฟังก์ชั่นหาค่าต่ำสุด - MAX เป็นฟังก์ชั่นหาค่าสูงสุด
การสอบถามข้อมูลพื้นฐาน(Select)การสอบถามข้อมูลพื้นฐาน(Select) 1.สอบถามข้อมูลด้วย(Select) การเรียกค้น เป็นการค้นหาข้อมูลที่เราต้องการ จากตาราง ในฐานข้อมูล ในกรณีที่เรามีข้อมูลอยู่เป็นจำนวนมาก การค้นหาข้อมูล โดยการเข้าถึงข้อมูลทีละRecordใน ตารางจะทำให้เสียเวลามาก การเรียกค้นจึงเป็นวิธีการที่เรา นำมาใช้เพื่อให้การค้นหาข้อมูล จากฐานข้อมูลเป็นไปอย่าง รวดเร็ว
รูปแบบประโยคพื้นฐานของภาษา SQL สำหรับการเรียกค้นสามารถทำได้ดังนี้ SELECT FieldName, FieldName,... FROM TableName, TableName,... คือ เป็นการเลือกFieldต่างๆ จากตารางต่างๆ ที่กำหนด ออกมาแสดง โดยในการสอบถามข้อมูลด้วยคำสั่ง Selectจะต้องกำหนดชื่อคอลัมน์ และชื่อตารางให้ชัดเจน
2.เปลี่ยนหัวคอลัมน์เป็นข้อความอื่นด้วยSelect...As2.เปลี่ยนหัวคอลัมน์เป็นข้อความอื่นด้วยSelect...As ในการแสดงผลที่ได้จากคำสั่งSelectนั้นจะใช้ชื่อคอลัมน์มาเป็นหัวคอลัมน์ ซึ่งอาจเป็นชื่อที่ไม่สื่อความหมายชัดเจน เช่น ชื่อคอลัมน์ Occupa หมายถึง Occupation, Dobหมายถึง Date of birth เป็นต้น อย่างไรก็ตามสามารถเปลี่ยนหัวคอลัมน์เป็นข้อความใดๆได้ตามต้องการ โดยใช้รูปแบบดังนี้ คือ Select <ชื่อคอลัมน์เดิม> AS “ชื่อคอลัมน์ใหม่”
3.แสดงข้อมูลที่ไม่ซ้ำกันด้วย Distinct ข้อมูลในแต่ละแถวอาจมีค่าเหมือนกัน ทำให้การแสดงผลซ้ำกันหลายบรรทัด ดูยากและไม่ชัดเจน ก็อาจใส่คำว่า“Distinct” นำหน้าชื่อคอลัมน์ เพื่อแสดงผลข้อมูลที่ซ้ำกันในหลายแถวเพียงครั้งเดียว หรือแถวเดียวเท่านั้น โดยมีรูปแบบดังนี้ คือ Select Distinct <ชื่อคอลัมน์> From <ชื่อตาราง>
4.การเรียงข้อมูลด้วยOrder By สามารถใช้คำสั่ง Selectเพื่อแสดงและจัดเรียงแถวตามข้อมูลในคอลัมน์หนึ่งๆ ได้ โดยเพิ่มประโยคคำสั่งย่อย ORDER BYโดยมีรูปแบบดังนี้ คือ Select <ชื่อคอลัมน์> From <ชื่อตาราง> ORDER BY <ชื่อคอลัมน์> [DESC]
การสอบถามข้อมูลแบบมีเงื่อนไข (Select…Where) 1.เลือกเฉพาะข้อมูลที่ต้องการด้วย Where คำสั่ง SELECT สามารถช่วยให้เราค้นหาข้อมูล ที่ต้องการได้ในระดับหนึ่งเท่านั้น ถ้าต้องการเจาะลึกเข้าไปในรายละเอียด ของแต่ละRecord แล้ว เราจะไม่สามารถเรียกค้นข้อมูลตามที่ต้องการ ได้เลยเช่น ต้องการเรียกค้นเฉพาะเพศชาย เป็นต้น ดังนั้นจึงต้องใช้ WHEREเพื่อค้นหาตามเงื่อนไขข้างต้น รูปแบบดังนี้ คือ
Select <ชื่อคอลัมน์> From <ชื่อตาราง> Where <เงื่อนไข>; 2.เลือกข้อมูลโดยระบุหลายเงื่อนไข กรณีที่ 1ต้องการข้อมูลที่ทุกเงื่อนไขเป็นจริงพร้อมกัน ให้เชื่อมด้วย And กรณีที่ 2ต้องการข้อมูลที่เงื่อนไขตัวใดตัวหนึ่งหรือทั้งหมดเป็นจริง ให้เชื่อมด้วย OR กรณีที่ 3ต้องการข้อมูลที่ตรงกันข้าม (นิเสธ) กับเงื่อนไข ให้เชื่อมด้วยNOT
3.เลือกข้อมูลที่ตรงตามชุดข้อมูลด้วย IN สามารถจัดการกับข้อมูลที่เป็นเซ็ตด้วยการใช้คำสงวน “IN” กำหนดเงื่อนไขในประโยคคำสั่งย่อย Where โดยมีรูปแบบ ดังนี้ คือ Select <ชื่อคอลัมน์> From <ชื่อตาราง> Where <ชื่อคอลัมน์> [NOT] in (ข้อมูลในคอลัมน์);
4.เลือกข้อมูลที่อยู่ในช่วงที่ต้องการด้วย BETWEEN … AND ในการกำหนดเงื่อนไขเพื่อเลือกข้อมูลที่มีค่าเป็นช่วงระหว่างค่าหนึ่งกับอีกค่าหนึ่งให้ใช้คำว่า BETWEEN และ NOT BETWEEN ในประโยคเงื่อนไข WHERE มีรูปแบบดังนี้คือ SELECT <ชื่อคอลัมน์> FROM <ชื่อตาราง> WHERE <ชื่อคอลัมน์> [NOT] BETWEEN <ข้อมูล1ในคอลัมน์> AND <ข้อมูล2ในคอลัมน์>
5.เลือกข้อมูลที่ตรงกับรูปแบบที่ต้องการด้วย LIKE สามารถกำหนดเงื่อนไขเพื่อเลือกข้อมูลที่มีรูปแบบตรงกันตามที่กำหนด โดยใช้คำว่า “LIKE”และอักษร ‘_’ แทนอักษรใดๆ 1ตัว และ ‘%’ แทนอักษรใดๆ กี่ตัวก็ได้ หรือ ไม่มีตัวอักษรที่ตำแหน่งนั้นเลยก็ได้
การสอบถามข้อมูลด้วยฟังก์ชัน สำหรับการคำนวณทางคณิตศาสตร์ ในบางครั้งการสอบถามข้อมูลอาจต้องอาศัยการคำนวณทางคณิตศาสตร์ ซึ่งตัวดำเนินการ(Operator) ที่ใช้ใน SQL จะปรากฏดังตาราง และการคำนวณด้วยตัวดำเนินการดังกล่าวจะทำได้เฉพาะกับข้อมูลที่มีชนิดเป็นตัวเลขเท่านั้น
ตาราง ตัวดำเนินการเชิงคณิตศาสตร์ตาราง ตัวดำเนินการเชิงคณิตศาสตร์
การสอบถามข้อมูลด้วยฟังก์ชันสำหรับกลุ่มข้อมูลการสอบถามข้อมูลด้วยฟังก์ชันสำหรับกลุ่มข้อมูล ฟังก์ชั่นที่ใช้หาค่าของข้อมูลทั้งกลุ่ม ตาราง ฟังก์ชั่นเชิงคณิตศาสตร์สำหรับกลุ่มข้อมูล
การสอบถามข้อมูลด้วยฟังก์ชันสำหรับตัวอักษรการสอบถามข้อมูลด้วยฟังก์ชันสำหรับตัวอักษร ฟังก์ชั่นที่ใช้หาค่าของข้อมูลทั้งกลุ่ม การสอบถามข้อมูลแบบจัดกลุ่มข้อมูล คำสั่ง(SELECT...GROUP BY) มีรูปแบบคือ SELECT <column-name(s)> FROM <table-name> GROUP BY <column-name(s)>
การเลือกกลุ่มด้วยHAVINGและWHEREการเลือกกลุ่มด้วยHAVINGและWHERE ในการสอบถามข้อมูลแต่ละแถวจะใช้ประโยคคำสั่งย่อย WHERE เพื่อกำหนดเงื่อนไข ส่วนการสอบถามข้อมูลที่เป็นกลุ่ม (group) จะใช้ประโยคคำสั่งย่อย HAVING เพื่อกำหนดเงื่อนไขแทน ดังนี้ มีรูปแบบคือ SELECT <column-name(s)> FROM <table-name> GROUP BY <column-name(s)> HAVING <condition>
นอกจากนี้สามารถใช้คำสั่งย่อย WHERE ร่วมกับประโยคคำสั่งย่อย GROUP BY และHAVINGเพื่อลดแถวข้อมูลบางแถวที่ไม่เป็นไปตามเงื่อนไขในประโยคคำสั่งย่อย WHERE ได้ โดยมีรูปแบบ ดังนี้ SELECT <column-name(s)> FROM <table-name> WHERE <condition> GROUP BY <column-name(s)> HAVING <condition>