วันพุธที่ 17 ธันวาคม พ.ศ. 2557

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

ตัวอย่าง คำสั่ง 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  ;
( แสดงข้อมูลรหัสพนักงาน ชื่อพนักงาน และชั่วโมงทำงาน
 เนื่องจาก  ชื่อพนักงาน อยู่คนละตารางกับ ข้อมูลชั่วโมงทำงาน

คำสั่ง SQL

คำสั่ง 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

ข้อสอบ o-net


1.ข้อใดไม่ใช่ระบบปฏิบัติการที่นำมาใช้บนอุปกรณ์พกพา
ประเภท  Smartphone.
1.  Ubumtu       2.  Iphone  os
3.  Android      4.  Symbian

2.ไฟล์ประเภทใดในข้อต่อไปนี้เก็บข้อมูลในลักษณะตัวอักษร.
1.  ไฟล์เพลง  MP 3 (mp 3)
2.  ไฟล์รูปประเภท  JPEG (jpeg)
3.  ไฟล์แสดงผลหน้าเว็บ (html)
4.  ไฟล์วีดีโอประเภท  Movie (movie)

3.ลิขสิทธิ์โปรแกรมประเภทรหัสเปิด(Open Source)อนุญาต
ให้ผู้ใช้ทำอะไรได้บ้าง.
ก.  นำโปรแกรมมาใช้งานโดยไม่ต้องเสียค่าลิขสิทธิ์
ข.  ทดลองใช้โปรแกรมก่อนถ้าพอใจจึงจ่ายค่าลิขสิทธิ์
ค.  แก้ไขปรับปรุงโปรแกรมเองได้
1.  ข้อ  ก กับ  ข้อ  ค      2.  ข้อ  ข  กับ  ข้อ  ค
3.  ข้อ  ข  อย่างเดียว     4.  ข้อ  ก  อย่างเดียว

4.ผู้ประกอบอาชีพเป็นผู้พัฒนาเว็บไซต์ต้องเชี่ยวชาญความรู้
ด้านใดบ้างจากตัวเลือกต่อไปนี้.
ก.  ฮาร์แวร์คอมพิวเตอร์       ข.  ระบบปฎิบัติการ
ค.  เว็บเซิร์ฟเวอร์                   ง.  HTML
จ.  ระบบฐานข้อมูล                ฉ.  ภาษาจาวา(Java)
1.  ข้อ  ก และ ค                    2.  ข้อ  ข  และ  จ
3.  ข้อ  ค  และ  ง                   4.  ข้อ  ค  และ  ฉ

5.ห้องสมุดแห่งหนึ่งต้องการพัมนาระบบยืมหนังสือโดยสามารถ
บันทึกข้อมูลการยืมหนังสือลงบนบัตรอิเลคโทรนิกส์โดยไม่ต้อง
เขียนด้วยมือระบบนี้ควรใช้เทคโนโลยีในข้อใด.
1.  Smart  Card          2.  Fingerprint
3.  Barcode                 4.  WiFi

6.ข้อใดเป้นการปฏิบัติที่ถูกต้องตามหลักวิชาการเมื่อค้นคว้า
หาข้อมูลจากอินเทอร์เนตมาทำรายงาน.
1.  คัดลอกเนื้อหาจากเว็บไซต์
2.  ใช้เนื้อหาจากกระดานสนทนา(Web board)มาใส่ในรายงาน
3.  นำรูปภาพจากเว็บไซต์มาใส่ในรายงาน
4.  อ้างอิงชื่อผู้เขียนบทความ

7.ข้อใดเป็นเทคโนโลยีการเชื่อมต่อข้อมูลไร้สายทั้งหมด.
1.  Wi-Fi  ,  IP                2.  Wi-Fi  ,Bluetooth
3.  3G  ADSL                4.  3G    Ethernet

8.ข้อใดไม่ใช่ข้อเสียของการละเมิดลิขสิทธิ์ซอฟต์แวร์.
1.  การทำผิดกฏหมายลิขสิทธิ์มีความผิดทางอาญา
2.  เป็นช่องทางหนึ่งในการระบาดของไวรัสคอมพิวเตอร์
3.  ผู้ใช้จะไม่ได้รับการบริการจากผู้พัมนาถ้าหากมีปัญหาการใช้งาน
4.  ทำให้ผู้พัมนาซอฟแวร์ไม่มีรายได้เพื่อประกอบการและพัฒนาต่อไปได้

9.ข้อใดต่อไปนี้ถูกต้องที่สุด.
1.  การบันทึกข้อมูลลงแผ่นดีวีดีใช้เทคโนโลยีแบบแม่เหล็ก
2.  หมายเลขไอพีเป็นหมายเลขที่ใช้กำกับ  Network Interce Card
3.  หน่วยความจำสำรองเป็นหน่วยความจำที่มีคุณลักษณะแบบ Volntile
4.  รหัส ACIIและEBCIDICเป็นการวางรหัสตัวอักษรที่ใช้ขนาด  8 บิด

10.ข้อใดเป็นการใช้แป้นพิมพ์ที่ไม่ถูกต้อง
 1. วางแป้นพิมพ์ในที่มีอากาศถ่ายเทสะดวก
 2. ระมัดระวังมิให้แป้นพิมพ์ได้รับการกระแทก
 3. ใช้แปรงขนอ่อนนุ่มปัดฝุ่นทำความสะอาดเสมอ
 4. เมื่อเกิดคราบบนแป้นพิมพ์ ใช้ผ้าเช็ดออกทันที