wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

SQL-Quiz

Total questions: 66

Worksheet time: 40mins

Name
Class
Date
1.

SQL คือข้อใด

a)

Struction Query Language

b)

Structure Query Language

c)

Select Query Language

d)

Structured Question Language

2.

คำสั่งที่ใช้ในการสร้างฐานข้อมูล คือ

a)

use

b)

create table

c)

create database

d)

show databasaes

3.

คำสั่งที่ใช้ในการแก้ไขปรับปรุงโครงสร้างตาราง คือ

a)

Alter table

b)

create table

c)

create database

d)

show database

4.

ข้อใดคือคำสั่ง ลบฐานข้อมูล ใน Mysql

a)

drop table

b)

drop database

c)

rename table

d)

show columns from

5.

คำสั่ง SQL ในการสืบค้นฐานข้อมูลคือข้อใด

a)

WHERE

b)

SELECT

c)

CREATE

d)

FROM

6.

คำสั่ง SQL ใช้ปรับปรุงระเบียนข้อมูลคือข้อใด

a)

INTO

b)

INSERT

c)

UPDATE

d)

DROP

7.

คำสั่ง SQL ที่ใช้ระบุการเรียงระเบียนข้อมูลจากมากไปน้อยคือข้อใด

a)

ASC

b)

DESC

8.

ข้อใด ไม่ใช่ หน้าที่ของภาษา SQL ในกลุ่มภาษาแบบ DDL (Data Definition Language)

a)

นิยามโครงสร้างของข้อมูล

b)

การกำหนดสิทธิในการใช้ฐานข้อมูล

c)

การสร้างโครงสร้างของตารางในฐานข้อมูล

d)

เรียกดูข้อมูลในฐานข้อมูล

9.

คำสั่งใดต่อไปนี้อยู่ในกลุ่ม DML (Data Manipulation Language) ทั้งหมด

a)

CREATE, ALTER

b)

ALTER, DROP

c)

DROP, SELECT

d)

SELECT, INSERT

10.

ภาษา SQL หลังคำสั่ง SELECT จะต้องตามด้วยข้อใด

a)

เงื่อนไขที่กำหนด (Condition)

b)

ชื่อคอลัมน์ (Attribute)

c)

ชื่อตาราง (Table)

d)

ชนิดของข้อมูล (Data Type)

11.

ในภาษา SQL หลังคำสั่ง FROM จะต้องตามด้วยข้อใด

a)

เงื่อนไขที่กำหนด (Condition)

b)

ชื่อคอลัมน์ (Attribute)

c)

ชื่อตาราง (Table)

d)

ชนิดของข้อมูล (Data Type)

12.

ในภาษา SQL หลังคำสั่ง GROUP BY จะต้องตามด้วยข้อใด

a)

เงื่อนไขที่กำหนด (Condition)

b)

ชื่อคอลัมน์ (Attribute)

c)

ชื่อตาราง (Table)

d)

ชนิดของข้อมูล (Data Type)

13.

คำสั่ง DISTINCT ทำหน้าที่อะไร

a)

เลือกค่าที่ไม่ซ้ำกันในคอลัมน์ที่กำหนด

b)

เลือกค่าที่ซ้ำกันในคอลัมน์ที่กำหนด

c)

เลือกค่าที่เหมือนกันในตาราง 2 ตารางที่สัมพันธ์กัน

d)

เลือกค่าที่มากที่สุดในตาราง

14.

ข้อใดคือคำสั่งที่ใช้สำหรับลบตารางที่กำหนด

a)

DROP

b)

SELECT

c)

INSERT

d)

ALTER

15.

คำสั่งในข้อใดที่ใช้สำหรับแก้ไขโครงสร้างข้อมูลในตารางที่กำหนด

a)

DROP

b)

SELECT

c)

INSERT

d)

ALTER

16.

คำสั่งในข้อใด ที่ใช้สำหรับการเพิ่มรายการข้อมูลลงในตาราง

a)

DROP

b)

SELECT

c)

INSERT

d)

ALTER

17.

จงแสดงผลลัพธ์ที่ได้จากคำสั่ง SQL ต่อไปนี้

SELECT COUNT(*)  FROM Teacher

WHERE salary>20000;

a)

6

b)

5

c)

4

d)

3

18.

ข้อใดคือคำสั่ง SQL แสดงจำนวนเงินเดือนมากที่สุดและน้อยที่สุด

a)

SELECT MAX(salary), MIN(salary) FROM Teacher;

b)

SELECT T_id, MAX(salary), MIN(salary) FROM Teacher;

c)


SELECT salary FROM Teacher WHERE T_id = ‘113’ AND T_id = ‘311’;

d)

ไม่มีข้อถูก

19.

ข้อใดคือคำสั่ง SQL แสดงจำนวนเงินเดือนมากที่สุด ไว้ในชื่อ HiSalary

a)

SELECT MAX(salary)

AS 'HiSalary'

FROM Teacher;

b)

SELECT MIN(salary)

AS 'HiSalary'

FROM Teacher;

c)

SELECT salary

MAX 'HiSalary'

FROM Teacher;

d)

SELECT MAX'salary'

AS (HiSalary)

FROM Teacher;

20.

ข้อใดคือคำสั่ง SQL แสดงค่าเฉลี่ยของจำนวนเงินเดือน

a)

SELECT AVG(salary) FROM Teacher;

b)

SELECT salary AVG FROM Teacher;

c)

SELECT salary FROM Teacher WHERE (AVG)salary;

d)

SELECT salary(AVG) FROM Teacher;

21.

ข้อใดอธิบายความหมายของคำสั่งต่อไปนี้ได้ถูกต้อง

ALTER TABLE TEST

ADD (ADDRESS VARCHAR2(20)) NOT NULL;

a)

เพิ่มคอลัมน์ TEST เข้าไปใน Table พร้อมสร้าง Constraint ประเภท NOT NULL

b)

เพิ่มคอลัมน์ ADDRESS เข้าไปใน Table พร้อมสร้าง Constraint ประเภท NOT NULL

c)

เพิ่ม Constraint ประเภท NOT NULL ให้แก่คอลัมน์ ADDRESS

d)

เพิ่ม Constraint ประเภท NOT NULL ให้แก่คอลัมน์  TEST

22.

ข้อใดคือผลลัพธ์ที่ได้ของคำสั่ง SELECT COUNT(*) FROM Book WHERE P#=’P2’;

a)

1

b)

2

c)

3

d)

4

23.

ข้อใดคือคำสั่งประเภท DCL : Data Control Language

a)

Select

b)

Declare

c)

Drop

d)

Grant

24.

คำสั่งที่ใช้สร้างตาราง คือคำสั่งใด

a)

CREATE TABLE

b)

CREATE INDEX

c)

INSERT INTO

d)

ALTER TABLE

25.

คำสั่งที่ใช้เพิ่มข้อมูลทีละแถวคือคำสั่งใด

a)

CREATE TABLE

b)

CREATE INDEX

c)

INSERT INTO

d)

ALTER TABLE

26.

DELETE FROM member WHERE memberId = 1

จากโจทย์ sql ชุดนี้ทำหน้าที่อะไร

a)

ลบ member Id = 1

b)

ลบข้อมูล member ทั้งหมด

c)

ลบข้อมูลใน member แค่ 1 record

d)

แก้ไขข้อมูล memberId = 1

27.

DELETE FROM member

จากโจทย์ sql ชุดนี้ทำหน้าที่อะไร

a)

ลบ member Id = 1

b)

ลบข้อมูล member ทั้งหมด

c)

ลบข้อมูลใน member แค่ 1 record

d)

แก้ไขข้อมูล memberId = 1

28.

INSERT INTO member ( Id , Fname , Lname , Email )

VALUES ( ' 1 ' , ' sarwut ' , ' krongrab ' , ' s@c.h ' );

Lname ที่โจทย์กำลังจะส่งค่าไปบันทึก คืออะไร

a)

s@c.h

b)

sarwut

c)

krongrab

d)

1

29.

หากต้องการนับจำนวนหนังสือในแต่ละปี

โดยให้แสดงข้อมูล Year และ จำนวนที่นับได้ในแต่ละปี

a)

SELECT Year, COUNT(Year)

FROM Book

GROUP BY Year

b)

SELECT COUNT(Year)

FROM Book

c)

SELECT Year, COUNT(Year)

FROM Book

d)

SELECT COUNT(Year)

FROM Book

GROUP BY Year

30.

หากต้องการแสดงข้อมูลรายการหนังสือตั้งแต่ปี 2550 เป็นต้นไป

ต้องเขียนคำสั่ง sql ตามข้อใด

a)

SELECT *

FROM Book

WHERE Year >= 2550

b)

SELECT *

FROM Book

WHERE Year > 2550

c)

SELECT Year

FROM Book

WHERE >=2550

d)

SELECT *

FROM Book

WHERE >=2550

31.

หากต้องการแสดงข้อมูลของครูทุกคนที่ไม่ได้อยู่ในแผนก (department) Math

ต้องเขียนคำสั่ง sql ตามข้อใด

a)

SELECT * FROM Teacher

WHERE department <> 'Math'

b)

SELECT * FROM Teacher

WHERE department NOT Math

c)

SELECT * FROM Teacher

WHERE department <> Math

d)

SELECT * FROM Teacher

WHERE department = 'Math'

32.

ชื่อเต็มของภาษา SQL คืออะไร ?

a)

Structured Question Language

b)

Structured Query Language

c)

Strong Question Language

d)

Strong Query Language

e)

Strange Query Language

33.

SELECT * FROM ___ ; ให้เราใส่สิ่งใดลงไปในช่องว่าง

a)

ชื่อตาราง

b)

คำสั่งสำหรับแสดงผล

c)

ชื่อฟิลด์

d)

ชื่อแถว

34.

ข้อใดต่อไปนี้ใช้คำสั่ง SQL ได้ถูกต้อง

a)

SELECT * FORM customers;

b)

SELECT * FROM customers;

c)

SELECT * FROM * ;

d)

SELECT * FORM * ;

35.

SELECT * FROM customers;

การใช้เครื่องหมาย หมายถึงสิ่งใด

a)

เลือกทุก Row ในตาราง customers ออกมา

b)

เลือกทุก Column ในตาราง customers ออกมา

c)

เลือกทุก Row customers ในทุกตารางออกมา

d)

เลือกทุก Column customers ในทุกตารางออกมา

36.

ประโยชน์ของการใช้ AS คือสิ่งใด ?

a)

เลือกแสดงข้อมูลที่เฉพาะเจาะจง

b)

เลือกลบข้อมูลที่ต้องการ

c)

เปลี่ยนชื่อของ Column หรือ Table นั้น ๆ แบบถาวร

d)

เปลี่ยนชื่อของ Column หรือ Table นั้น ๆ เฉพาะการทำงานในคำสั่งนั้น

37.

หากเราต้องการดึงข้อมูลลูกค้าทั้งหมดที่อยู่ในเมือง Berlin ควรใช้คำสั่งใด

a)

SELECT * FROM Customers WHERE City = "Berlin";

b)

SELECT * FROM Customers WHEN City = "Berlin";

c)

SELECT * FROM Customers WHERE Country = "Berlin";

d)

SELECT * FROM Customers WHEN Country = "Berlin";

38.

หากเราต้องการเชื่อมเงื่อนไข ด้วย "และ" กับ " หรือ" ภายใน WHERE เราสามารถใช้ ตัวดำเนินการใดได้บ้าง ? (อาจมีคำตอบมากกว่า 1)

a)

&&

b)

AND

c)

||

d)

OR

e)

and,or

39.

หากต้องการเรียงลำดับข้อมูลลูกค้าที่ CustomerID มากที่สุด ไปน้อยที่สุดเราควรใช้คำสั่งใด ?

a)

SELECT * FROM Customers ORDER BY CustomerID DESC;

b)

SELECT * FROM Customers ORDER BY CustomerID ASC;

c)

SORT SELECT * FROM Customers;

d)

SORT SELECT * FROM Customers DESC;

40.

หากเราต้องการตั้งจำนวนการแสดงผลข้อมูลออกมา เช่น ให้แสดงข้อมูล 10 rows เท่านั้นจะต้องใช้คำสั่งใด ?

a)

MAX 10

b)

LIMIT 10

c)

AS 10

d)

WHAT 10

41.

รูปแบบการ Insert ข้อมูลใดต่อไปนี้ถูกต้อง ? (อาจมีคำตอบที่ถูกมากกว่า 1)

a)

INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);

b)

INSERT WHERE table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);

c)

INSERT INTO table_name VALUES (value1, value2, value3, ...);

d)

INSERT table_name (column1,

INSERT WHERE table_name (column1) VALUES (value1, value2);

e)

INSERT table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);

42.

จะเกิดอะไรขึ้นเมื่อคำสั่ง INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country) VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway'); ทำงาน ?

a)

ระบบจะทำการ Insert ข้อมูลดังกล่าวเข้าระบบ ไม่พบปัญหาอะไร

b)

ระบบจะไม่สามารถทำการ Insert ข้อมูลดังกล่าวเข้าระบบได้ เพราะ VALUES ไม่สอดคล้องกัน

c)

ระบบจะไม่สามารถทำการ Insert ข้อมูลดังกล่าวเข้าระบบได้ เพราะต้องใช้แค่คำสั่ง INSERT ไม่มี INTO

d)

ถูกทุกข้อ

43.

UPDATE ___ SET ContactName='Juan';

เราควรเติมสิ่งใดลงในช่องว่าง

a)

ชื่อฟิลด์

b)

หมายเลขแถวที่ต้องการ Update

c)

ชื่อตาราง

d)

ชื่อฐานข้อมูล

44.

จะเกิดอะไรขึ้นเมื่อคำสั่ง

UPDATE Customers SET FirstName='Juan';

ทำงาน ?

a)

ระบบจะทำการ Update ชื่อจริงของรายชื่อลูกค้าคนแรก

b)

ระบบจะทำการ Update ชื่อจริงของรายชื่อลูกค้าที่ระบุเป็น Juan

c)

ระบบจะทำการ Update ชื่อจริงของรายชื่อลูกค้าทุกคนเป็น Juan

d)

ระบบจะไม่สามารถ Update ได้เนื่องจากเราไม่ได้กำหนด WHERE ว่าจะให้ Update สิ่งใด

45.

คำสั่งใดต่อไปนี้มีไว้สำหรับลบแถวของข้อมูลในตาราง

a)

REMOVE

b)

DESTROY

c)

DELETE

d)

REVOKE

e)

DROP

46.

คำสั่งใดที่ใช้ในการดึงข้อมูลออกมาจากตารางในภาษา SQL ?

a)

OPEN

b)

GET

c)

SELECT

d)

EXTRACT

e)

READ

47.

คำสั่งใดในภาษา SQL ที่ใช้สำหรับปรับปรุงแก้ไขข้อมูล ?

a)

SAVE AS

b)

MODIFY

c)

UPDATE

d)

PATC

e)

EDIT

48.

คำสั่งใดในภาษา SQL มีไว้สำหรับลบข้อมูล ?

a)

REMOVE

b)

DEL

c)

DELETE

d)

HIDE

e)

DROP

49.

คำสั่งใดใน SQL มีไว้สำหรับเพิ่มข้อมูลใหม่ลงไปใน Table

a)

INSERT NEW

b)

INSERT DATA

c)

INSERT INTO

d)

INSERT RECORD

e)

INSERT RECORD

50.

หากต้องการแก้ไขชื่อฟิลด์ / ตาราง สำหรับการใช้งานชั่วคราวแค่เรียกออกมาในคำสั่งนั้น ๆ เราจะใช้คำสั่งใด ?

a)

AS

b)

SETNAME

c)

RENAME

d)

RESET

e)

TYPE

51.

คำสั่งใดที่ไว้สำหรับเลือกข้อมูล Firstname จากตาราง Customers

a)

SELECT Customers.Firstname;

b)

SELECT Customers FROM Firstname;

c)

SHOW Customers.Firstname;

d)

SELECT Firstname FROM Customers;

e)

SHOW Customers. FROM Firstname;

52.

หากต้องการดึงข้อมูลทุก Field ของ Table Customers ออกมาแสดงควรใช้คำสั่งใด ?

a)

SELECT Firstname FROM Customers;

b)

SELECT Customers FROM *;

c)

SELECT ALL FROM Customers;

d)

SELECT Customers;

e)

SELECT * FROM Customers;

53.

หากต้องการแสดงข้อมูลทุกฟิลด์ ของลูกค้าที่มีชื่อจริงว่า "Kitti" ควรใช้คำสั่งใด ?

a)

SELECT * FROM Customers WHERE Firstname == "Kitti"

b)

SELECT * FROM Customers WHERE Firstname => "Kitti"

c)

SELECT * FROM Customers WHERE Firstname = "Kitti"

d)

SELECT ALL FROM Customers WHERE Firstname == "Kitti"

e)

SELECT ALL FROM Customers WHERE Firstname = "Kitti"

54.

หากต้องการข้อมูลของลูกค้าที่ชื่อ "Prayuth" นามสกุล "Chan-ocha" จากตาราง Customers ควรใช้คำสั่งใด ?

a)

SELECT * FROM Customers WHERE Firstname = "Chan-ocha" OR Lastname = "Prayuth"

b)

SELECT * FROM Customers WHERE Firstname = "Chan-ocha" OR Lastname = "Prayuth"

c)

SELECT * FROM Customers WHERE Firstname = "Prayuth" OR Lastname = "Chan-ocha"

d)

SELECT * FROM Customers WHERE Firstname = "Prayuth" AND Lastname = "Chan-ocha"

e)

SELECT * FROM Customers WHERE Firstname <> "Prayuth" AND Lastname <> "Chan-ocha"

55.

1.การดึงข้อมูลจากตารางหรือวิวที่มากกว่าหนึ่งตัว ต้องใช้คำสั่งรูปแบบใด

a)

Select from........... where

b)

SubQuery

c)

Join Query

d)

Index

56.

2.จากภาพโจทย์ ต้องการข้อมูลชื่อ นามสกุล พนักงาน, เงินเดือนและ ชื่องาน (job_title) ของพนักงานที่มีเงินเดือนอยู่ระหว่างเงินเดือนต่ำสุดและเงินเดินสูงสุดของแต่ละ Jobs เรียงลำดับตามเงินเดือนจากน้อยไปมาก โดยใช้การ Join แบบ Natural Join จงเลือกคำสั่งที่ถูกต้องเติมลงในช่องว่าง (A)

a)

Departments E

b)

Employees E

c)

Job E

d)

Employee E

57.
  1. 3.จากภาพโจทย์ ต้องการข้อมูลชื่อ นามสกุล พนักงาน, เงินเดือนและ ชื่องาน (job_title) ของพนักงานที่มีเงินเดือนอยู่ระหว่างเงินเดือนต่ำสุดและเงินเดินสูงสุดของแต่ละ Jobs เรียงลำดับตามเงินเดือนจากน้อยไปมาก โดยใช้การ Join แบบ Natural Join จงเลือกคำสั่งที่ถูกต้องเติมลงในช่องว่าง (B)

a)

Right jobs J

b)

Left JOIN jobs J

c)

JOIN jobs J

d)

Right JOIN jobs J

58.
  1. จากภาพโจทย์ ต้องการข้อมูลชื่อ นามสกุล พนักงาน, เงินเดือนและ ชื่องาน (job_title) ของพนักงานที่มีเงินเดือนอยู่ระหว่างเงินเดือนต่ำสุดและเงินเดินสูงสุดของแต่ละ Jobs เรียงลำดับตามเงินเดือนจากน้อยไปมาก โดยใช้การ Join แบบ Natural Join จงเลือกคำสั่งที่ถูกต้องเติมลงในช่องว่าง (C)

a)

AND

b)

OR

c)

NOT

d)

BETWEEN

59.

จงเลือกคำสั่งที่ถูกต้องเติมลงในช่องว่าง (D)

a)

J.min_salary

b)

J. salary

c)

J.max_salary

d)

J.job_title

60.

โจทย์ ต้องการข้อมูลชื่อ นามสกุล พนักงาน, เงินเดือนและ ชื่องาน (job_title) ของพนักงานที่มีเงินเดือนอยู่ระหว่างเงินเดือนต่ำสุดและเงินเดินสูงสุดของแต่ละ Jobs เรียงลำดับตามเงินเดือนจากน้อยไปมาก โดยใช้การ Join แบบ Natural Join จงเลือกคำสั่งที่ถูกต้องเติมลงในช่องว่าง (E)

a)

Group by

b)

Order by

c)

Where

d)

On

61.

7.โจทย์ ต้องการชื่อลูกค้าแต่ละรายที่มาจากประเทศ UK ว่าทำการสั่งซื้อสินค้าไปจำนวนเท่าใดในแต่ละปี? โดยใช้การ Join ที่ยึดตารางฝั่งซ้ายเป็นหลัก จงเลือก คำสั่งที่ถูกต้องเติมลงในช่องว่าง (A)

a)

SUM

b)

AVG

c)

COUNT

d)

ROUND

62.

โจทย์ ต้องการชื่อลูกค้าแต่ละรายที่มาจากประเทศ UK ว่าทำการสั่งซื้อสินค้าไปจำนวนเท่าใดในแต่ละปี? โดยใช้การ Join ที่ยึดตารางฝั่งซ้ายเป็นหลัก จงเลือก คำสั่งที่ถูกต้องเติมลงในช่องว่าง (B)

a)

FULL JOIN

b)

RIGHT JOIN

c)

LEFT JOIN

d)

INNER JOIN

63.

โจทย์ ต้องการชื่อลูกค้าแต่ละรายที่มาจากประเทศ UK ว่าทำการสั่งซื้อสินค้าไปจำนวนเท่าใดในแต่ละปี? โดยใช้การ Join ที่ยึดตารางฝั่งซ้ายเป็นหลัก จงเลือก คำสั่งที่ถูกต้องเติมลงในช่องว่าง (C)

a)

WHERE Customers = 'UK'

b)
c)

WHERE Customers.City = 'UK'

d)

WHERE Customers.Country = 'UK'

64.

10.ข้อใดคือผลลัพธ์ที่ได้จากคำสั่งนี้ SELECT emp.name AS employee, pos.name AS POSITION, emp.salary FROM employee AS emp INNER JOIN POSITION AS pos ON pos.id = emp.position_id;

a)
แสดงชื่อพนักงาน และชื่อตำแหน่งที่มีเลขที่ตำแหน่งตรงกัน
b)
แสดงชื่อพนักงาน เงินเดือน และชื่อตำแหน่ง 
c)
แสดงชื่อพนักงาน เงินเดือน และชื่อตำแหน่งที่มีเลขที่ตำแหน่งตรงกัน
d)

ข้อ ก. และ ค.ถูก

65.

การสอบปลายภาคที่จะมาถึงอยากให้สอบแบบใด

a)

สอบโดยใช้เครื่องมือในการตรวจเช่นเดิม (เพราะไม่มีอคติจากคนตรวจมีแค่ผิดและถูก เพียงแต่ต้องทำให้ถูกรูปแบบในการส่งอย่างเคร่งขัด)

b)

สอบโดยใช้ผู้สอบตรวจ (คะแนนจะช้ากว่าปกติและอาจจะมีอคติเช่นคำตอบนี้น่าจะถูกหรือโอกาสตรวจพลาดบ้าง)

c)

สอบแบบไหนก็ได้แต่ของานเพิ่ม (ทำโปรเจคแล้วลดคะแนนสอบลง แต่เวลาเหลือน้อยมากๆแล้วนะ)

66.

ขอความเห็น/ข้อเสนอแนะ/ระบาย/บ่น

เกี่ยวกับข้อสอบที่จะสอบในไม่ช้านี้

4 lines