ตัวอย่าง คำสั่ง SQL

ตัวอย่าง คำสั่ง
1.สร้าง DATABASE
mysql > create database  <ชื่อdatabase>;
 เช่น        create database world;
2.สร้าง table
mysql > create table <ชื่อtable> (<ชื่อข้อมูล> <ชนิดข้อมูล>, ... );
 เช่น create table human (name VARCHAR(20), birth DATE, sex CHAR(1));
ชนิดข้อมูล เช่น
 VARCHAR(n) - ข้อมูลชนิด string เก็บแบบ linked list เหมาะสมกับข้อมูลที่มีความยาวที่ไม่แน่นอน
 CHAR(n) - ข้อมูลชนิด string เก็บแบบ array เหมาะสมกับข้อมูลที่มีความยาวที่แน่นอน
 INT - จำนวนเต็ม
 DATE - ข้อมูลชนิดพิเศษของ SQL ใช้เก็บวันที่ มีรูปแบบเป็น YYYY-MM-DD
3.การสืบค้นข้อมูล หรือการดูข้อมูล
 SELECT <สิ่งที่ต้องการ>
 FROM   <ชื่อtable>
 WHERE <เงื่อนไขอื่นๆ>
เช่นต้องการชื่อของข้อมูลในตาราง human ที่มีมีเพศชาย
 SELECT name
 FROM   human
 WHERE sex = ‘M’; 
ต้องการดูข้อมูลทั้งหมดในตาราง human [* คือทั้งหมด]
 SELECT *
 FROM   human;
ซึ่งการกำหนดเงื่อนไขนั้นเราสามารถใช้ตัวแปรทางคณิตศาสตร์ตรรกะ มาช่วยได้เช่น
 AND และ
 OR หรือ
 < น้อยกว่า
 > มากกว่า
 <= น้อยกว่าหรือเท่ากับ
 >= มากกว่าหรือเท่ากับ
 <> ไม่เท่ากับ
 UNION การนำ 2 ตารางมาเชื่อมต่อกันตัดตัวซ้ำ
 UNION ALL การนำ 2 ตารางมาเชื่อมกันโดยไม่ตัดตัวซ้ำ
 INTERSECT ข้อมูลที่ซ้ำกัน
4.ORDER BY เรียงลำดับข้อมูล การจัดกลุ่มข้อมูล
เรียงลำดับจากมากไปน้อย (descending order)
เช่น SELECT *
 FROM   human
 ORDER BY name;
เรียงลำดับจากน้อยไปมาก (descending order)
เช่น SELECT *
 FROM   human
 ORDER BY name DESC;
ถ้าต้องการมากกว่าอันนึงก็ย่อมได้
เช่น SELECT *
 FROM   human
 ORDER BY name , sex DESC ;
แบบนี้จะจัดตามชื่อแบบ ascending ก่อนแล้วจะมาจัดเพศแบบ descending ทีหลัง
5.การใช้ตัวแปร NULL ในเงื่อนไข
 ใช้คำสั่ง xxx IS NOT NULL เช่นต้องการดูสิ่งมีชีวิตที่ไม่มีเพศ
 SELECT *
 FROM   human
 WHERE sex IS NOT NULL;
6.การตั้งชื่อเป็นชื่อที่เราต้องการ
 หมายถึงเวลา select บางทีคนทั่วไปอาจจะไม่เข้าใจว่าคืออะไร เราจึงมีคำสั่ง AS ช่วย เช่น
 SELECT name AS ‘NAME-SURNAME’
 FROM   human;
7.COUNT การนับจำนวน + GROUP BY การจัดกลุ่ม
 COUNT ใช้ในการนับจำนวนของตารางต่างๆ จะใช้คู่กับ GROUP BY ได้ดีเพราะจะช่วยในการจัดกลุ่มชุดข้อมูลได้ดีขึ้น
 SELECT <อื่นๆ> COUNT(*)
 FROM <ชื่อtable>
 WHERE <เงื่อนไข>
 GROUP BY <จัดกลุ่มโดยใช้อะไร>
เช่นต้องการนับจำนวนคนในแต่ละเพศ
 SELECT sex , COUNT(*)
 FROM   human
 GROUP BY sex;
SET การกำหนดตัวแปร
 SET @<ชื่อตัวแปร> = <ค่า>
 เช่น  SET @A1 = ‘Natsu Sencho’;
  SET @A2 = ‘1999-09-09’;
8.คำสั่งแบบหลายเงื่อนไข
Select  <filed_1 , filed_2 , … , filed_n  /  *  >
From  <Table_name> 
Where  < condition-1 >
<And / Or >  <condition-2>  ;
And ให้ผลเหมือนการ  Intersection
Or ให้ผลเหมือนการ  Union
เช่น    Select * from work 
                    Where proj_num = 15 ;  (เลือกข้อมูลการทำงานโครงการ 15)
Select * from work 
                    Where hours  > 3 ;  (เลือกข้อมูลการทำงานที่มากกว่า 3 ชั่วโมง)
Select * from employee
                    where job = "Programmer"  ; (เลือกพนักงานที่เป็น Programmer)
9.คำสั่งแบบหลายเงื่อนไข
Select  <filed_1 , filed_2 , … , filed_n  /  *  >
From  <Table_name> 
Where  < condition-1 >
<And / Or >  <condition-2>  ;
And ให้ผลเหมือนการ  Intersection
Or ให้ผลเหมือนการ  Union
เช่น select * from work
where proj_num  = 15   and hours  > 3 ;
(เลือกพนักงานที่ทำงานโครงการ 15 และทำงานมากกว่า 3 ชั่วโมง : ต้องอยู่โครงการ 15)
select * from work
where proj_num  = 15  or hours  > 3 ;
(เลือกพนักงานที่ทำงานโครงการ 15 หรือทำงานมากกว่า 3 ชั่วโมง : อาจทำงานอยู่โครงการอื่น)
10.คำสั่งที่มีการใช้งานหลายตาราง (join)
Select  <filed_1 , filed_2 , … , filed_n  /  *  >
From  <table_1 , table_2 , …, table_n
Where  < condition-1 > ;
       1. ต้องมีการเชื่อม PK และ FK ของทั้งสองตารางเข้าด้วยกัน (Join)
   2.หากมี field ใดที่ชื่อซ้ำกันทั้งสองตาราง
          เมื่ออ้างถึง ต้อง ระบุชื่อตาราง ตามด้วยชื่อฟิลด์ เช่น
          work.emp_num หรือ employee.emp_num
เช่น Select  employee.emp_num , emp_name , hours
From    employee , work
Where  employee.emp_num = work.emp_num  ;
( แสดงข้อมูลรหัสพนักงาน ชื่อพนักงาน และชั่วโมงทำงาน
 เนื่องจาก  ชื่อพนักงาน อยู่คนละตารางกับ ข้อมูลชั่วโมงทำงาน

 จึงต้องมีการ join ตารางที่มีข้อมูลเข้าด้วยกัน)

คำสั่ง SQL

ภาษา SQL
           (สามารถอ่านออกเสียงได้ 2 แบบ คือ เอสคิวแอล” (SQL) หรือ ซีเควล” (Sequel) ย่อมมาจาก Structured Query Language หรือภาษาในการสอบถามข้อมูล เป็นภาษาทางด้านฐานข้อมูล ที่สมารถสร้างและปฏิบัติการกับฐานข้อมูลแบบสัมพันธ์ (Relational Database) โดยเฉพาะ และเป็นภาษาที่มีลักษณะคลายกับภาษาอังกฤษ ภาษา SQL ถูกพัฒนาขึ้นจากแนวคิดของ Relational Calculus และ Relational Algebra เป็นหลัก ภาษา SQL เริ่มพัฒนาครั้งแรกโดย Almaden Research Center ของบริษัท IBM โดยมีชื่อเริ่มแรกว่า ซีเควล” (Sequel) ต่อมาได้เปลี่ยนชื่อเป็น เอสคิวแอล” (SQL) หลังจากนั้นภาษาSQL ได้ถูกนำมาพัฒนาโดยผู้ผลิตซอฟต์แวร์ด้านระบบจัดการฐานข้อมูลเชิงสัมพันธ์จนเป็นที่นิยมกันอย่างแพร่หลายในปัจจุบัน โดยผู้ผลิตแต่ละรายก็พยายามที่จะพัฒนาระบบจัดการฐานข้อมูลของตนให้มีลักษณะเด่นเฉพาะขึ้นมา ทำให้รูปแบบการใช้คำสั่ง SQL มีรูปแบบที่แตกต่างกันไปบ้าง เช่น Oracle Access SQL Base ของ Sybase Ingres หรือ SQL Server ของ Microsoft เป็นต้น ดังนั้นในปี ค.ศ. 1986 ทางด้าน American National Standards Institute (ANSI) จึงได้กำหนดมาตรฐานของ SQL ขึ้น อย่างไรก็ดี โปรแกรมฐานข้อมูลที่ขายในท้องตลาด ได้ขยาย SQL ออกไปจนเกินข้อกำหนดของ ANSI โดยเพิ่มคุณสมบัติอื่น ๆ ที่คิดว่าเป็นประโยชน์เข้าไปอีก แต่โดยหลักทั่วไปแล้วก็ยังปฏิบัติตามมาตรฐานของ ANSI ในการอธิบายคำสั่งต่าง ๆ ของภาษาSQL

ประเภทของคำสั่งในภาษา SQL 
ภาษา SQL เป็นภาษาที่ใช้งานได้ตั้งแต่ระดับเครื่องคอมพิวเตอร์ส่วนบุคคลพีซีไปจนถึงระดับเมนเฟรม ประเภทของคำสั่งในภาษา (SQL The Subdivision of SQL) แบ่งออกเป็น 3 ประเภท คือ
1. ภาษาสำหรับการนิยามข้อมูล(Data Definition Language :DDL) ประกอบด้วยคำสั่งที่ใช้ในการกำหนดโครงสร้างข้อมูลว่ามีคอลัมน์อะไร แต่ละคอลัมน์เก็บข้อมูลประเภทใด รวมถึงการเพิ่มคอลัมน์การกำหนดดัชนี การกำหนดวิวหรือตารางเสมือนของผู้ใช้ เป็นต้น
2. ภาษาสำหรับการจัดการข้อมูล (Data Manipulation Language :DML) ประกอบด้วยคำสั่งที่ใช้ในการเรียกใช้ข้อมูลการเปลี่ยนแปลงข้อมูล การเพิ่มหรือลบข้อมูล เป็นต้น
3. ภาษาควบคุม (Data Control Language : DCL)ประกอบด้วยคำสั่งที่ใช้ในการควบคุมการเกิดภาวะพร้อมกัน หรือการป้องกันการเกิดเหตุการณ์ที่ใช้หลายคนเรียกใช้ข้อมูลพร้อมกัน และคำสั่งที่เกี่ยวข้องกับการควบคุมความปลอดภัยของข้อมูลด้วยการกำหนดสิทธิ์ของผู้ใช้ที่แตกต่าง เป็นต้น

ข้อสอบ O-NET [วิชาคอมพิวเตอร์]

1.   ข้อใดไม่ใช่ ขั้นตอนหลักในการทำงานของคอมพิวเตอร์
            ก.  ประมวลผล                        ข.  เก็บข้อมูล 
             ค.  รับข้อมูล                ง.  แสดงผลลัพธ์     
            จ.  นำข้อมูลเข้า (คนที่จะนำข้อมูลเข้าได้ก็คือ User ค่ะ)
2.  หน่วยข้อมูลที่เล็กที่สุดในระบบคอมพิวเตอร์เรียกว่า
            ก.  บิต    ( 1 กับ 0)                  ข.  ไบต์ 
             ค. ฟิลด์                                   ง.  เร็คคอร์ด
             จ. ไฟล์
3.  ข้อมูลเมื่อผ่านการประมวลผลแล้ว จะได้อะไร
            ก.  Document                        ข.   Report
            ค.  Information                       ง.  Output
            จ.  Database
4.  สัญญาณในคอมพิวเตอร์เป็นสัญญาณชนิดใด
             ก.  อนาล็อก                 ข.  ดิจิตอล  
            ค.  ไฮบริค                    ง.  ไฟฟ้า
            จ. อิเล็กทรอนิกส์
5.ข้อใดต่อไปนี้ถูกต้องที่สุด
            ก.การบันทึกข้อมูลลงแผ่นดีวีดีใช้เทคโนโลยีแบบแม่เหล็ก
            ข.หมายเลขไอพีเป็นหมายเลขที่ใช้กำกับ Network Interface Card
            ค.หน่วยความจำสำรองเป็นหน่วยความจำที่มีคุณลักษณะแบบ Valatile
            ง.รหัส ASII และ EBIDIC เป็นการวางรหัสตัวอักษรที่ใช้ขนาด 8 บิต
6. ข้อใดเป็นการใช้งานโปรแกรม Google Earth ได้ถูกต้องตามวัตถุประสงค์
            ก. ใช้โปรแกรม Google Earth ค้นหาภาพถ่าย
            ข. ใช้โปรแกรม Google Earth สำรวจถนนเพื่อการเดินทาง
            ค. ใช้โปรแกรม Google Earth สร้างภาพกราฟิกสามมิติ
            ง. ใช้โปรแกรม Google Earth เพื่อช่วยการเรียนการสอนวิชาดาราศาสตร์
7. ผู้กระกอบอาชีพ เป็นผู้พัฒนาเว็บไซต์ต้องเชี่ยวชาญความรู้ด้านใดบ้าง จากตัวเลือกต่อไปนี้
                        ก. ฮาร์ดแวร์     ข. คอมพิวเตอร์    ง. HTML  จ. ระบบฐานข้อมูล   ค. เว็บเซิร์ฟข้อมูล    ฉ. ภาษาจาวา ( JAVA)
            ก. ข้อ ก. และ ค.
            ข. ข้อ ข. และ จ.
            ค. ข้อ ค. และ ง.
            ง. ข้อ ก. และ จ.
8. ใช้คอมพิวเตอร์ อย่างไรจึงจะช่วยลดโลกร้อน
            ก. ปิดเครื่องเมื่อไม่ใช้งาน และพิมพ์งานเมื่อจำเป็น
            ข. เลือกใช้จอแอลซีดีและปรับปรุงซอร์ฟแวร์ให้ทันสมัย
            ค. ใช้คอมพิวเตอร์วันละ 1 ชม. และรักษาความสะอาดอยู่เสมอ
            ง. ไม่เชื่อมระบบบนเครือข่ายและใช้เครื่องพิมพ์ Inkjet เท่านั้น
9. ข้อใดเป็นการใช้แป้นพิมพ์ที่ไม่ถูกต้อง
            ก. วางแป้นพิมพ์ในที่มีอากาศถ่ายเทสะดวก
            ข. ระมัดระวังมิให้แป้นพิมพ์ได้รับการกระแทก
            ค. ใช้แปรงขนอ่อนนุ่มปัดฝุ่นทำความสะอาดเสมอ
            ง. เมื่อเกิดคราบบนแป้นพิมพ์ ใช้ผ้าเช็ดออกทันที
10. การใช้งานคอมพิวเตอร์ในข้อใด อยู่ในขั้นจัดเก็บข้อมูล
            ก. กุ้ง ใช้แป้นพิมพ์ไร้สายพิมพ์รายงาน
            ข. สาว สั่งให้เครื่องคอมพิวเตอร์หาค่าเฉลี่ยเลขคณิต
            ค. ด้อย ใช้เครื่องพิมพ์ฉีดหมึกพิมพ์ภาพลงในกระดาษ A4

            ง. น้ำหวาน บันทึกงานวิจัยเชิงปริมาณลงในแผ่น DVD-R