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

ข้อสอบคอมพิวเตอร์เบื้องต้น

ข้อสอบคอมพิวเตอร์เบื้องต้น 20 ข้อ พร้อมเฉลย


1. คอมพิวเตอร์คืออะไร
ก.  ระบบโปรแกรมการทำงาน
ข.  การคำนวณ
ค.  เครื่องจักรอิเล็กทรอนิกส์ที่ทำงานตามขั้นตอนของโปรแกรม
ง.   อุปกรณ์ที่ประกอบขึ้น
2. ฮาร์ดแวร์คอมพิวเตอร์คืออะไร
ก.  อุปกรณ์ที่ประกอบขึ้นเป็นเครื่องคอมพิวเตอร์ 
ข.  การคำนวณ
ค.  เครื่องจักรอิเล็กทรอนิกส์ที่ทำงานตามขั้นตอนของโปรแกรม
ง.   ระบบโปรแกรมการทำงาน
3. ซอฟต์แวร์คอมพิวเตอร์คืออะไร
ก.  อุปกรณ์ที่ประกอบขึ้นเป็นเครื่องคอมพิวเตอร์
ข.  โปรแกรมหรือชุดคำสั่งที่สั่งให้คอมพิวเตอร์ทำงาน
 ค.  เครื่องจักรอิเล็กทรอนิกส์ที่ทำงานตามขั้นตอนของโปรแกรม  
ง.   ระบบโปรแกรมการทำงาน
4. RAM คืออะไร
ก.  หน่วยความจำถาวรที่ติดตั้งมาพร้อมกับแผงเมนบอร์ด
ข.  หน่วยความจำเสมือน
ค.  หน่วยความจำที่ทำงานแทนเมนบอร์ด
ง.   หน่วยความจำชั่วคราวที่สามารถอ่านและเขียนข้อมูลได้
5. ROM คืออะไร
ก.  หน่วยความจำถาวรที่ติดตั้งมาพร้อมกับแผงเมนบอร์ด
ข.  หน่วยความจำเสมือน
ค.  หน่วยความจำที่ทำงานแทนเมนบอร์ด
ง.   หน่วยความจำชั่วคราวที่สามารถอ่านและเขียนข้อมูลได้
6. ข้อมูล คืออะไร
ก.  ข้อมูลที่ได้รับการกรอง และเรียบเรียง ที่สามารถนำไปใช้งานได้
ข.  ข้อมูลที่ประมวลผลแล้ว
ค.  ความเป็นจริงที่ยังเป็นข้อมูลดิบซึ่งไม่ได้ผ่านการประมวลผลใด ๆ 
ง.   ผลลัพท์ของการทำงาน
7. ข้อมูลสารสนเทศ คืออะไร
ก.  ข้อมูลที่ได้รับการกรอง และเรียบเรียง ที่สามารถนำไปใช้งานได้    
ข.  ข้อมูลที่ประมวลผลแล้ว
ค.  ความเป็นจริงที่ยังเป็นข้อมูลดิบซึ่งไม่ได้ผ่านการประมวลผลใด ๆ
ง.   ผลลัพท์ของการทำงาน
8. ข้อใดไม่ใช่ระบบปฏิบัติการ
ก.  Microsoft Windows98
ข.  Microsoft Windows ME
ค.  Microsoft Windows XP
ง.  Microsoft Office
9. MOUSE คืออะไร
ก.  เครื่องพิมพ์
ข.  อุปกรณ์นำเข้าข้อมูล เพื่อให้เราสามารถป้อนคำสั่งต่าง ๆ ได้
ค.  อุปกรณ์สื่อสาร
ง.  อุปกรณ์แสดงผล
10. คำสั่งใดที่ใช้ในการลบไฟล์
ก.  Delete        
ข.  Rename
ค.  Open
ง.  Save
11. คำสั่งใดที่ใช้ในการเปลี่ยนชื่อไฟล์
ก.  Delete
ข.  Rename
ค.  Open
ง.  Save
12. คำสั่งใดที่ใช้ในการเปิดใช้งานไฟล์
ก.  Delete
ข.  Rename
ค.  Open     
ง.  Save
13. คำสั่งใดที่ใช้ในการเปิดบันทึกไฟล์
ก.  Save 
ข.  Rename
ค.  Open
ง.  Delete
14. โปรแกรมใดที่ใช้ในการวาดภาพ และตัดต่อภาพเบื้องต้น
ก.  NotePad
ข.  ScanDisk
ค.  Paint   
ง.  WordPad
15. โปรแกรมใดที่ใช้ในการดูหนัง ฟังเพลงเบื้องต้น
ก.  NotePad                              
ข.  Media Player
ค.  Paint
ง.  WordPad
16. โปรแกรมใดที่ใช้ในการดูเอกสารข้อความเบื้องต้น
ก.  Access
ข.  Media Player
ค.  Paint                                   
ง.  WordPad
17. อินเตอร์เน็ต คืออะไร
ก.  ระบบเมนเฟรม                         
ข.  ระบบเครือข่ายที่เชื่อมโยงกันหลาย ๆ เครือข่ายทั่วโลก
ค.  ระบบเครือข่ายเดี่ยว
ง.  ระบบไมโครคอมพิวเตอร์
18. WWW ย่อมาจากอะไร
   ก.  World Wide Web       
ข.  World War Web
ค.  World Wan Web
ง.  World Wide Wan
19. อีเมลล์ (E-mail) คืออะไร
ก. โปรแกรมดูภาพ
ข. โปรแปรมรับส่งแฟกซ์
ค. โปรแกรมทำงานอินเตอร์เน็ต          
ง.  ไปรษณีย์อิเล็กทรอนิกส์ติดต่อสื่อสารกันทางอินเตอร์เน็ต
20. Down Load  คืออะไร
ก. การโอนย้ายข้อมูลจากเครื่องแม่ข่ายมายังเครื่องส่วนบุคคล
ข. การโอนย้ายข้อมูลในเครื่องส่วนบุคคล
ค. การโอนย้ายข้อมูลจากเครื่องส่วนบุคคลไปยังเครื่องแม่ข่าย
ง.  การโอนย้ายข้อมูลในเครื่องแม่ข่าย

ที่มา http://www.kruchiangrai.net/2013/11/27/%E0%B8%82%E0%B9%89%E0%B8%AD%E0%B8%AA%E0%B8%AD%E0%B8%9A%E0%B8%84%E0%B8%AD%E0%B8%A1%E0%B8%9E%E0%B8%B4%E0%B8%A7%E0%B9%80%E0%B8%95%E0%B8%AD%E0%B8%A3%E0%B9%8C%E0%B9%80%E0%B8%9A%E0%B8%B7%E0%B9%89%E0%B8%AD%E0%B8%87%E0%B8%95%E0%B9%89%E0%B8%99-20-%E0%B8%82%E0%B9%89%E0%B8%AD-%E0%B8%9E%E0%B8%A3%E0%B9%89%E0%B8%AD%E0%B8%A1%E0%B9%80%E0%B8%89%E0%B8%A5%E0%B8%A2/

คำสั่ง SQL เบื้องต้น

คำสั่ง SQL เบื้องต้น


สร้าง DATABASE
mysql > create database  <ชื่อdatabase>;
เช่น create database world;


สร้าง 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
ดูชื่อและชนิดข้อมูลของแต่ละตาราง
mysql > describe <ชื่อtable>;
การใส่ข้อมูลลงไปใน table
1. ใช้คำสั่ง load data จากไฟล์ที่เราเตรียมไว้ โดย default จะแบ่งเนื้อหาโดยใช้ tab แบบนี้จะมีปัญหาเรื่องการใช้ข้อมูลชนิด NULL ซึ่งใช้ \N แทน
mysql > load data local infile ‘natsu.txt’ into table pet;

2.INSERT ใส่ทีละข้อมูล เหมาะกับข้อมูลที่น้อยๆ ที่เราเพิ่มเติมเข้าไป เช่น
mysql > INSERT INTO pet VALUES (‘natsusencho’, ‘1992-03-25’, ‘M’);

3. *ทำ SQL script คือเตรียมไฟล์คำสั่ง sql ไว้แล้วนำมาทำการ source ทีเดวเช่น
ส่วนตัวแนะนำวิธีนี้เพราะเราเขียนทั้งหมดทีเดียวไม่ต้องมาใส่ทีละคำสั่ง นึกออกให้เสร็จที่เดียวแล้ว run ทีเดียวทั้งหมด
  ---- file natsu.sql ----
CREATE TABLE IF NOT EXISTS human (
      name   VARCHAR(20),
      birth DATE, 
sex CHAR(1) );
INSERT INTO human VALUES 
     ( 'NatsuSencho',   '1992-03-25', 'M'),
     ( 'Slime',   '1999-03-03', NULL ),
  ( ‘HeyFemale’ , ‘1993-12-25’ , ‘F’);
----- file natsu.sql -----
หลังจากสร้างเสร็จแล้วก้ลองใช้คำสั่ง
mysql > source natsu.sql;
ก็จะได้ตาราง world หน้าที่มีข้อมูล 3 ตัว
create table IF NOT EXISTS human
คำว่า IF NOT EXISTS หมายถึงการสร้าง table นี้ถ้ายังไม่มี table นี้ ถ้ามีแล้วก็ไม่ต้องสร้าง
มีสร้างก็ต้องมีลบ การลบ table ใช้คำสั่ง
mysql > DELETE FROM <ชื่อtable>;
หลังจากที่สร้างเป็นแล้วต้องสามารถแก้ไขข้อมูลได้
mysql > UPDATE <ชื่อtable> 
SET <ชื่อข้อมูล> = <ข้อมูลใหม่>
WHERE <เงื่อนไขอื่นๆ>;
เช่น UPDATE human SET name = ‘HeyGirl’ WHERE name = ‘HeyFemale’;
การสืบค้นข้อมูล หรือการดูข้อมูล
SELECT <สิ่งที่ต้องการ>
FROM   <ชื่อtable>
WHERE <เงื่อนไขอื่นๆ>
เช่นต้องการชื่อของข้อมูลในตาราง human ที่มีมีเพศชาย
SELECT name
FROM   human
WHERE sex = ‘M’; 
ต้องการดูข้อมูลทั้งหมดในตาราง human [* คือทั้งหมด]
SELECT *
FROM   human;
ซึ่งการกำหนดเงื่อนไขนั้นเราสามารถใช้ตัวแปรทางคณิตศาสตร์ตรรกะ มาช่วยได้เช่น
AND และ 
 OR หรือ
< น้อยกว่า 
 > มากกว่า
<= น้อยกว่าหรือเท่ากับ
>= มากกว่าหรือเท่ากับ
<> ไม่เท่ากับ
UNION การนำ 2 ตารางมาเชื่อมต่อกันตัดตัวซ้ำ
 UNION ALL การนำ 2 ตารางมาเชื่อมกันโดยไม่ตัดตัวซ้ำ
INTERSECT ข้อมูลที่ซ้ำกัน
DISTINCT คือการตัดตัวที่ซ้ำกันออก
เช่น SELECT DISTINCT sex
FROM   human;
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 ทีหลัง
การคำนวณเกี่ยวกับวันที่
ตัวแปร DATE เป็น string ที่มีการเก็บเป็นรูปแบบ YYYY-MM-DD ตัวแปรชนิด DATE สามารถนำมาเทียบค่ากันได้ในระดับ ASCII
CURDATE() จะเป็น function ที่ส่งค่าออกมาเป็นข้อมูลรูปแบบ DATE (YYYY-MM-DD)
YEAR(<ข้อมูลชนิดdate>) ส่งค่าออกมาเป็นข้อมูลรูปแบบของปี (YYYY)
MONTH(<ข้อมูลชนิดdate>) ส่งค่าออกมาเป็นข้อมูลรูปแบบของเดือน (MM)
DAY(<ข้อมูลชนิดdate>)  ส่งค่าออกมาเป็นข้อมูลรูปแบบของวัน (DD)
RIGHT(<ข้อมูลชนิดstring>, <จำนวนตัวเลข>) ส่งค่าออกมาจำนวนเท่ากับที่เราต้องการตัดออกมาจาก string นั้นๆ โดยเริ่มนับจากทางขวา
LEFT(<ข้อมูลชนิดstring>, <จำนวนตัวเลข>) ส่งค่าออกมาจำนวนเท่ากับที่เราต้องการตัดออกมาจาก string นั้นๆ โดยเริ่มนับจากทางซ้าย
ตัวอย่าง
ex1. ต้องการปีของวันปัจจุบัน YEAR( CURDATE() )
ex2. ต้องการเดือนและวันของปัจจุบัน RIGHT( CURDATE(),5 )
[5 ในที่นี้คือนับจากทางขวามือมา YYYY-MM-DD ก็จะได้ ​MM-DD มา]
การใช้ตัวแปร NULL ในเงื่อนไข
ใช้คำสั่ง xxx IS NOT NULL เช่นต้องการดูสิ่งมีชีิวิตที่ไม่มีเพศ
SELECT *
FROM   human
WHERE sex IS NOT NULL;
การตั้งชื่อเป็นชื่อที่เราต้องการ
หมายถึงเวลา select บางทีคนทั่วไปอาจจะไม่เข้าใจว่าคืออะไร เราจึงมีคำสั่ง AS ช่วย เช่น
SELECT name AS ‘NAME-SURNAME’
FROM   human;
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’;
การใช้คำสั่ง JOIN
การ JOIN คือการนำตารางที่มีความสัมพันธ์ของข้อมูลในแต่ละฟิลมาเชื่อมโยงกัน
การ JOIN มี 2 แบบคือ
1. INNER JOIN
2. OUTER JOIN |--- LEFT JOIN
|--- RIGHT JOIN
INNER JOIN
คือการ JOIN โดยไม่สนใจค่า NULL จะดูเพียงตัวที่เหมือนกันเท่านั้น
สมมติมีตาราง 2 อันชื่อ Ltable และ ​Rtable นำมา JOIN กันโดยมีข้อมูลที่ซ้ำกันคือ id
-- JOIN โดยใช้ ON
SELECT *
FROM Ltable INNER JOIN Rtable ON Ltable.id = Rtable.id;
-- หรือ JOIN โดยใช้ USING
SELECT *
FROM Ltable INNER JOIN Rtable USING (id);
กรณีพิเศษที่ตัวแปรหรือชื่อ Column ซ้ำกันก็สามาใช้ NATURAL JOIN ได้ อย่างในที่นี้เรารุ้ว่า id นั้นซ้ำกันเราก็ไม่ต้องใส่เงื่อนไขใดๆ แต่ใช้ Natural Join เข้ามาช่วยโดย
SELECT *
FROM Ltable NATURAL JOIN Rtable;
OUTER JOIN
  • LEFT JOIN
คือการ JOIN โดยใช้ตัวทางซ้ายเป็นหลักคือ จะแสดงตัวทางซ้ายทุกตัวและนำข้อมูลขวามาเชื่อม
SELECT *
FROM Ltable LEFT JOIN Rtable ON Ltable.id = Rtable.id;
  • RIGHT JOIN
คือการ JOIN โดยใช้ตัวทางขวาเป็นหลักคือ จะแสดงตัวทางขวาทุกตัวและนำข้อมูลขวามาเชื่อม
SELECT *
FROM Ltable RIGHT JOIN Rtable ON Ltable.id = Rtable.id;
นอกจากวิธีการ JOIN ยังมีวิธีที่เรียกว่า Cartesian Product ซึ่งไม่ได้อทิบายไว้ในทีนี้

CREATE สร้างdatabase, table
INSERT ใส่ข้อมูล
UPDATE อัพเดตข้อมูล
SELECT ต้องการจะดูอะไรบ้าง
FROM จากที่ไหน
WHERE เงื่อนไขอย่างไร
COUNT(*) นับจำนวนของฟิลข้อมูล
GROUP BY จัดกลุ่มข้อมูล
ORDER BY เรียงลำดับข้อมูลโดย
JOIN เชื่อมตาราง
DISTINCT ตัดตัวซ้ำ
AS ใช้คำใหม่ให้กระทัดรัดขึ้น
SET กำหนดตัวแปร
CURDATE() วันที่ปัจจุบัน
YEAR() ปี
MONTH() เดือน
DAY() วัน
RIGHT() ตัดคำจากทางขวา
LEFT() ตัดคำจากทางซ้าย
* ทั้งหมด