วันอังคารที่ 16 ธันวาคม พ.ศ. 2557

รูปแบบคำสั่ง Sql

คำสั่งพื้นฐาน 
select *  from employee ;
select emp_no , emp_name , emp_lname
from employee ;
คำสั่งแบบมีเงื่อนไข (condition)
Condition  หรือ เงื่อนไข หมายถึงการระบุความต้องการ มีรูปแบบการเขียนดังนี้คือ  <field>  <operator>  < value >
Filed คือ Filed ใดๆที่อยู่ในรายชื่อ Table อยู่ในคำสั่ง From
Operator คือคำสั่งในการปฏิบัติการ เช่น = , > , < , != , is null
Value ค่าที่ใช้เป็นเงื่อนไข หากเป็นตัวเลขสามารถระบุได้เลย หากเป็นตัวอักษรต้องมีการใส่  "  ก่อนและหลังค่าที่เป็นเงื่อนไข
 Select * from work 
  Where proj_num = 15 ;  (เลือกข้อมูลการทำงานโครงการ 15)
Select * from work 
  Where hours  > 3 ;  (เลือกข้อมูลการทำงานที่มากกว่า 3 ชั่วโมง)
Select * from employee
  where job = "Programmer; (เลือกพนักงานที่เป็น Programmer)
คำสั่งแบบหลายเงื่อนไข
select * from work
where proj_num  = 15   and hours  > 3 ;

(เลือกพนักงานที่ทำงานโครงการ 15 และทำงานมากกว่า 

ชั่วโมง : ต้องอยู่โครงการ 15)
select * from work

where proj_num  = 15  or hours  > 3 ;

(เลือกพนักงานที่ทำงานโครงการ 15 หรือทำงานมากกว่า 

3 ชั่วโมง 

: อาจทำงานอยู่โครงการอื่น) 


คำสั่งที่มีการใช้งานหลายตาราง (join)
Select  employee.emp_num , emp_name , hours
From    employee , work
Where  employee.emp_num = work.emp_num  ;
( แสดงข้อมูลรหัสพนักงาน ชื่อพนักงาน และชั่วโมงทำงาน
 เนื่องจาก  ชื่อพนักงาน อยู่คนละตารางกับ ข้อมูลชั่วโมงทำงาน
 จึงต้องมีการ join ตารางที่มีข้อมูลเข้าด้วยกัน)
คำสั่งที่มีการเรียงลำดับ
Select  employee.emp_num , emp_name , proj_num,hours
From    employee , work
Where  employee.emp_num = work.emp_num
Order by employee.emp_num ;
(แสดงข้อมูลรหัสพนักงาน ชื่อพนักงาน และชั่วโมงทำงาน
เรียงลำดับข้อมูล ตามรหัสพนักงาน)
การใช้ Operator : like
 Select * from employee
where emp_name like “A%” ;
(แสดงข้อมูล พนักงานที่ชื่อขึ้นต้นด้วยอักษร A )
Select * from employee
where emp_name like “%A%” ;
(แสดงข้อมูล พนักงานที่ชื่อมีอักษร A )
การใช้ Operator : in
select *  from employee
where deptno in ( “Programmer” , “System Analyst”) ;
(แสดงข้อมูลพนักงานที่เป็นโปรแกรมเมอร์หรือ นักวิเคราะห์ระบบ)
select *  from work
where proj_num in ( 15 , 22 ) ;
(แสดงข้อมูลการทำงานโครงการ 15 หรือ โครงการ 22 )
การทำงานเชิงนิเสธ
select *   from  work
where proj_num not in ( 15 ,  22) ;
(แสดงข้อมูลการทำงาที่ไม่ใช่ โปรเจ็ค 15 และ 22)
select *   from employee
where job != “Programmer”  ;
(แสดงข้อมูลการทำงานของพนักงานที่ไม่ใช่ Programmer)
การทำงานแบบ sub query
select  *   from work
where emp_num  deptno in ( select emp_num  from employee 
                                           where job = “Programmer”) ;
(แสดงข้อมูลการทำงานของผู้ที่ทำงานหน้าที่ Programmer – ที่อาจมีหลายคน)
select  *   from work
where proj_num = ( select proj_num from project
            where proj_name = “โรงงานแกลงการยาง” );
(แสดงข้อมูลการทำงานของผู้ที่งานในโครงการ โรงงานแกลงการยางค์ มีโครงการเดียวแน่นอน)

การทำงานแบบรวม (Aggregate function)
select  job , count(*) 
from employee  group by job ;
(นับจำนวนพนักงานจัดกลุ่มตามอาชีพ)
select  emp_num ,  sum(work_hours
from  work   group by emp_num ;
(รวมชั่วโมงทำงาน จัดกลุ่มตามรหัสพนักงาน)
select  proj_num , min(work_hours) , max(work_hours)  
from work
group by proj_num ;
(แสดงชั่วโมงทำงานน้อยที่สุด และมากที่สุด ชองแต่ละโครงการ)
select  job, count(*)   from employee
group by job having count(*) > 2 ;
(นับจำนวนพนักงาน จัดกลุ่มตามอาชีพ เฉพาะที่มีพนักงานมากกว่า 3 คน)
select  emp_num ,  sum(work_hours)  from  work
group by emp_num having sum(work_hours) > 20;
(รวมชั่วโมงทำงาน จัดกลุ่มตามรหัสพนักงาน เฉพาะที่มีชั่วโมงการทำงานรวมมากกว่า 20 ชั่วโมง)

รูปแบบคำสั่งที่มีการคำนวณ
Select  employee.emp_num , proj_num,
     chg_hours , work_hours  ,   
     chg_hours * work_hours
From employee , work
Where employee.emp_num = work.emp_num ;
(แสดงข้อมูลการทำงานของพนักงานแต่ละคนในแต่ละโครงการ และค่าตอบแทนที่ได้)
รูปแบบคำสั่งที่มีการเปลี่ยนชื่อการแสดงผล
Select  employee.emp_num , proj_num,
     chg_hours , work_hours  ,   
     chg_hours * work_hours  pay
From employee , work
Where employee.emp_num = work.emp_num ;
(แสดงข้อมูลการทำงานของพนักงานแต่ละคนในแต่ละโครงการ และค่าตอบแทนที่ได้ แสดงคอลัมน์ค่าตอบแทนคือ pay )
รูปแบบคำสั่งที่มีการเปลี่ยนชื่อตาราง
Select  e.emp_num , proj_num,
     chg_hours , work_hours  ,   
     chg_hours * work_hours  
From employee e, work  w
Where e.emp_num = w.emp_num ;
(แสดงข้อมูลการทำงานของพนักงานแต่ละคนในแต่ละโครงการ และค่าตอบแทนที่ได้)
สรุปรูปแบบคำสั่ง
Select  …..
From …..
Where …..  and (or) …..
Group by ….  ( Having ….)
Order by ….







กลุ่มของคำสั่งในภาษา SQL – DCL

Data Control Language (DCL)

nGrant , Revoke

UPDATE , DELETE , ALTER

GRANT SELECT , INSERT ,

  ON   demo  TO  user02;

REVOKE ALL PRIVILEGES ON demo


  FROM  user02 ;

กลุ่มของคำสั่งในภาษา SQL – DML

Data Manipulation Language ( DML)   
เป็นกลุ่มคำสั่งที่ใช้ในการเข้าถึงข้อมูล แบ่งเป็น 2 กลุ่มหลักๆคือnกลุ่มที่ใช้ในการแสดงผลข้อมูล ได้แก่ คำสั่ง Select
nกลุ่มที่ใช้ในการปรับปรุงเนื้อหาข้อมูล ได้แก่คำสั่ง  Insert , Update , Delete 
ตัวอย่างการใช้ภาษา SQL แบบ DML
DELETE  FROM project where proj_num = 16 ;   

INSERT INTO project ( proj_num, proj_name)

VALUES  (16, “Burapha") ;

SELECT  *  FROM project  WHERE  proj_num = 16 ;

UPDATE  Project  set proj_name = "Burapha Chant.“

WHERE  proj_num = 16 ;

กลุ่มของคำสั่งในภาษา SQL – DDL

Data Definition Language (DDL)
  เป็นกลุ่มคำสั่งที่ใช้ในการกำหนดโครงสร้างต่างๆในระบบจัดการฐานข้อมูล
  ตัวอย่างของคำสั่งได้แก่  Create , Alter , Drop
ตัวอย่างการใช้ภาษา SQL แบบ DDL
CREATE TABLE project01  (  proj_num varchar(2)   NOT NULL,
      proj_name varchar(20) NOT NULL  ) ;
ALTER TABLE project01 ADD
     proj_status  VARCHAR( 5 ) NOT NULL ;
DROP TABLE project01  ;
CREATE USER  user01 IDENTIFIED BY  "1234"  ;

DROP USER  user01 ;

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

O-NET ม. 6 (คอมพิวเตอร์)

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


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


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


1.  ข้อ  ก และ ค                    2.  ข้อ  ข  และ  จ
3.  ข้อ  ค  และ  ง                   4.  ข้อ  ค  และ  ฉ
เฉลยข้อ  3


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


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


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


11.ข้อใดเป็นบริการส่งจดหมายอิเล็กทรอนิคส์ผ่านสายโทรศัพท์.
      1. E- mail    
      2. Web  Site   
      3. Search  engine
      4. Face  book
เฉลยข้อ  1  เป็นการส่งจดหมายอิเลคทรอนิค