ใบงาน ฐานข้อมูลและ SQL พร้อมเฉลย

ใบงาน ฐานข้อมูลและ SQL ฟรีสำหรับพิมพ์: 8 ข้อ ตั้งแต่ระดับง่ายถึงระดับข้อสอบจริง พร้อมเฉลย พิมพ์หรือบันทึกเป็น PDF ได้

ใบงานใหม่ฝึกออนไลน์พร้อมคำใบ้

สำหรับผู้สอน: พิมพ์ ทำสำเนา และใช้ในชั้นเรียนได้ฟรี ใบงานใหม่แต่ละชุดมีค่าตัวเลขใหม่และเฉลยของตัวเอง หากใส่ลิงก์ไปยัง ExamProblems ในหน้ารายวิชาของคุณ เราจะขอบคุณมาก

ชื่อ: ____________________   วันที่: ____________

1.ง่าย

UNION ทำอะไรกับผลลัพธ์ของคิวรี SELECT สองคิวรี?

  1. Aรวมเป็นผลลัพธ์เดียวและลบแถวซ้ำ
  2. Bเก็บเฉพาะแถวที่อยู่ในคิวรีแรกแต่ไม่อยู่ในคิวรีที่สอง
  3. Cเก็บเฉพาะแถวที่ปรากฏในทั้งสอง
  4. Dเชื่อมเคียงกันด้วยคีย์
2.ง่าย

ข้อจำกัด CHECK ทำอะไร?

  1. Aนับแถวในตาราง
  2. Bตรวจสอบว่ามีตารางอยู่หรือไม่ก่อนรันคิวรีบนตารางนั้น
  3. Cปฏิเสธแถวที่ค่าไม่เป็นไปตามเงื่อนไข
  4. Dตรวจสอบรหัสผ่านของผู้ใช้
3.ง่าย

INNER JOIN ให้ผลลัพธ์เป็น:

  1. Aเฉพาะแถวที่มีค่าตรงกันในทั้งสองตาราง
  2. Bแถวที่ไม่ตรงกัน
  3. Cทุกแถวจากตารางซ้าย โดยมี NULL ในส่วนที่ไม่มีค่าตรงกัน
  4. Dทุกแถวจากทั้งสองตาราง
4.ปานกลาง

ในพีชคณิตเชิงสัมพันธ์ ตัวดำเนินการการเลือก (σ) สอดคล้องกับอนุประโยค SQL ใด?

  1. AORDER BY
  2. Bรายการ SELECT
  3. CWHERE
  4. DGROUP BY
5.ปานกลาง

เหตุใด SELECT price * 2 AS double_price FROM t WHERE double_price > 10 จึงล้มเหลวในฐานข้อมูลส่วนใหญ่?

  1. Aไม่อนุญาตให้คำนวณเลขคณิตในรายการ SELECT
  2. BWHERE ถูกประเมินก่อนรายการ SELECT ชื่อแฝงจึงยังไม่มี
  3. Cชื่อแฝงห้ามมีขีดล่าง
  4. DWHERE เปรียบเทียบได้เฉพาะคอลัมน์ข้อความ
6.ปานกลาง

EXCEPT (เรียก MINUS ใน Oracle) คืนอะไร?

  1. Aแถวของคิวรีที่สองที่ไม่ปรากฏในคิวรีแรก
  2. Bทุกแถวจากทั้งสองคิวรีโดยไม่ซ้ำ
  3. Cแถวของคิวรีแรกที่ไม่ปรากฏในคิวรีที่สอง
  4. Dแถวที่ปรากฏในทั้งสองคิวรี
7.ยาก

กำหนดการพึ่งพาเชิงฟังก์ชัน A → B, B → C และ C → D บน R(A, B, C, D) ตัวปิด (closure) A+ คืออะไร?

  1. A{A, B, C}
  2. B{A, B, C, D}
  3. C{A}
  4. D{A, B}
8.ยาก

คิวรี FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' ตัดลูกค้าที่ไม่มีคำสั่งซื้อออกโดยไม่คาดคิด เพราะเหตุใด?

  1. Aเงื่อนไข WHERE บน o ปฏิเสธแถวที่เติม NULL ทำให้กลายเป็น inner join
  2. Bการเชื่อมควรใช้ USING แทน ON
  3. Cstatus เป็นคำสงวน
  4. DLEFT JOIN ไม่เก็บแถวที่ไม่ตรงกัน

เฉลย

  1. 1. A · รวมเป็นผลลัพธ์เดียวและลบแถวซ้ำ
  2. 2. C · ปฏิเสธแถวที่ค่าไม่เป็นไปตามเงื่อนไข
  3. 3. A · เฉพาะแถวที่มีค่าตรงกันในทั้งสองตาราง
  4. 4. C · WHERE
  5. 5. B · WHERE ถูกประเมินก่อนรายการ SELECT ชื่อแฝงจึงยังไม่มี
  6. 6. C · แถวของคิวรีแรกที่ไม่ปรากฏในคิวรีที่สอง
  7. 7. B · {A, B, C, D}
  8. 8. A · เงื่อนไข WHERE บน o ปฏิเสธแถวที่เติม NULL ทำให้กลายเป็น inner join

เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com