Tuyển tập các câu hỏi SQL thường gặp trong phỏng vấn

SQL thực chất là ngôn ngữ truy vấn được thiết kế trong hệ thống quản lý dữ liệu quan hệ. SQL không đơn giản, phỏng vấn SQL lại càng không dễ dàng. Nhưng bạn không cần quá lo lắng bởi nắm chắc các câu hỏi SQL dưới đây, bạn sẽ dễ dàng vượt qua vòng phỏng vấn và ghi điểm với nhà tuyển dụng.

1. Câu hỏi phỏng vấn SQL là gì?

Tuyển tập các câu hỏi SQL thường gặp trong phỏng vấn

Gợi ý trả lời:

SQL (Structured Query Language) là một loại ngôn ngữ được sử dụng phổ biến trong lập trình. Trong khoa học máy tính, SQL thường được thiết kế để quản lý dữ liệu trong hệ thống RDBMS hoặc xử lý luồng dữ liệu RDSMS. Xét về bản chất, SQL không phải ngôn ngữ lập trình nhưng bản tiêu chuẩn của nó lại có thể mở rộng thành ngôn ngữ lập trình.

2. Nêu các vai trò nổi bật của SQL

Gợi ý trả lời:

SQL có rất nhiều vai trò hữu ích, nổi bật trong đó phải kể đến:

  • Thực thi toàn bộ các truy vấn đối với nguồn cơ sở dữ liệu.
  • Thu thập, sao chép, chèn bảng ghi, cập nhập, xóa bản ghi,… khỏi cơ sở dữ liệu.
  • Tạo các thủ tục lưu trữ, dạng xem mới, thiết lập quyền trong hệ thống cơ sở dữ liệu.

3. MySQL là gì?

Gợi ý trả lời:

MySQL là khái niệm có mối quan hệ mật thiết đối với ngôn ngữ truy vấn SQL. Theo đó, nếu SQL là một dạng ngôn ngữ truy vấn thì MySQL là cơ sở dữ liệu quan hệ sử dụng chính SQL làm ngôn ngữ dữ liệu tiêu chuẩn.

4. Nêu cách hiển thị thời gian hiện tại với các truy vấn SQL

Gợi ý trả lời:

Khi sử dụng truy vấn SQL và muốn hiển thị chi tiết thời gian, chúng ta sẽ thực hiện các thao tác cơ bản đối với lệnh GetDate.

5. SQL có những tập con nào?

Gợi ý trả lời:

SQL có tương đối nhiều tập con, trong đó có 3 tập được sử dụng phổ biến nhất bao gồm:

  • Ngôn ngữ định nghĩa dữ liệu DDL được sử dụng chủ yếu để xác định cấu trúc dữ liệu với các lệnh quan trọng như Create, Alter và Drop.
  • Ngôn ngữ thao tác dữ liệu DML với các lệnh Chọn, Chèn, Cập nhật và Xóa.
  • Ngôn ngữ điều khiển dữ liệu DCL ứng dụng trong việc kiểm soát quyền truy cập vào cơ sở dữ liệu thông qua hai lệnh chính là GRANT và REVOKE.

SQL có những tập con nào?

6. Làm nổi bật sự khác biệt giữa mệnh đề HAVING và mệnh đề WHERE?

Gợi ý trả lời:

  • Mệnh đề HAVING là mệnh đề chỉ định điều kiện tìm kiếm với câu lệnh SELECT và mệnh đề GROUP BY. Khi hoạt động, mệnh đề này lọc các bản ghi dựa trên kết quả tóm tắt của GROUP BY.
  • Mệnh đề WHERE là mệnh đề chỉ định điều kiện tìm kiếm được sử dụng khi mệnh đề GROUP BY trong HAVING không thể hoạt động được. Mệnh đề WHERE chủ yếu được áp dụng chủ yếu cho các bản ghi riêng lẻ.

7. Sự khác biệt giữa UNION và UNION ALL là gì?

Gợi ý trả lời:

  • UNION cho phép trả tất cả các hàng riêng biệt được chọn bởi một trong hai truy vấn.
  • UNION ALL cho phép trả về những hàng được chọn bởi một trong hai truy vấn, bao gồm cả những hàng bị trùng lặp với nhau.

8. Câu hỏi phỏng vấn SQL Injection là gì?

Gợi ý trả lời:

SQL Injection là thuật ngữ chỉ kỹ thuật chèn thêm SQL với mục đích thay đổi câu truy vấn ban đầu đồng thời tạo lỗ hổng dữ liệu để khai thác Database. Theo đánh giá, SQL Injection là một trong những kỹ thuật hack web được sử dụng nhiều nhất hiện nay.

9. PRIMARY KEY là gì?

Gợi ý trả lời:

PRIMARY KEY hay còn được biết đến với tên gọi khóa chính là cột chứa các giá trị xác định duy nhất của mỗi hàng trong cùng một bảng. Giá trị của PRIMARY KEY chỉ được sử dụng duy nhất một lần, tuyệt đối không có trường hợp sử dụng lại. Trong ứng dụng và triển khai khóa chính, cột PRIMARY KEY không được phép có giá trị NULL.

10. FOREIGN KEY là gì?

Gợi ý trả lời:

FOREIGN KEY (Khóa ngoại) là một trường khóa chính thuộc một bảng bất kỳ được thêm vào nhóm bảng có liên quan để tạo ra trường phổ biến có liên quan mật thiết tới hai bảng. Các ràng buộc khóa trong FOREIGN KEY giữ nhiệm vụ thực thi toàn vẹn hệ tham chiếu.

FOREIGN KEY là gì?

11. CHECK Constraint là gì?

Gợi ý trả lời:

CHECK Constraint là một ràng buộc CHECK được ứng dụng trong việc giới hạn toàn bộ các giá trị hoặc loại dữ liệu được có khả năng lưu trữ trong cùng một cột. Nếu bản ghi không đáp ứng được yêu cầu của CHECK Constraint thì chắc chắn không được lưu trữ vào trong bảng.

12. Trigger là gì?

Gợi ý trả lời:

Trigger là một thủ tục được thực thi trực tiếp từ phía máy chủ cơ sở dữ liệu khi có thao tác chèn, cập nhật, xóa lệnh thực hiện với một bảng cụ thể được triển khai trên máy tính.

13. DML và DDL là gì?

Gợi ý trả lời:

  • DML (Data Manipulation Language) là Ngôn ngữ thao tác dữ liệu được ứng dụng với các câu lệnh phổ biến như INSERT, UPDATE và DELETE.
  • DDL (Data Definition Language) là Ngôn ngữ định nghĩa dữ liệu được sử dụng với một số hàm như CREATE, ALTER, DROP và RENAME.

14. Câu hỏi phỏng vấn SQL Comments là gì?

Gợi ý trả lời:

SQL Comments là câu truy vấn được sử dụng khi chủ thể muốn đưa thêm chú thích vào truy vấn SQL gốc nhằm bổ sung ngữ nghĩa hoặc giải thích chi tiết rõ ràng hơn. Dấu hiệu nhận biết phổ biến của SQL là đặt giữa hai nối liên tiếp (-) hoặc /*…*/. Sau khi áp dụng SQL Comments, trình biên dịch sẽ tự động bỏ qua những dòng có bình luận nên không ảnh hưởng đến các thao tác tiếp theo.

15. Nêu sự khác biệt giữa các lệnh TRUNCATE, DELETE và DROP

Gợi ý trả lời:

  • TRUNCATE, DELETE và DROP cùng là lệnh xóa nhưng được phân biệt với nhau thông qua điểm khác biệt sau:
  • TRUNCATE là lệnh cho phép xóa và không lưu trữ, phục hồi tất cả các hàng từ một bảng bằng cách phân bổ trang bộ nhớ.
  • DELETE là lệnh xóa một hoặc tất cả các hàng trong bảng dựa trên điều kiện nhất định và cho phép phục hồi trong một khoảng thời gian nhất định.
  • DROP là lệnh sử dụng để xóa toàn bộ một bảng từ hệ thống cơ sở dữ liệu.

16. Index là gì?

Gợi ý trả lời:

Index (Chỉ mục) là thuật ngữ chỉ bảng tra cứu đặc biệt giúp Database Search Engine sử dụng giảm thời gian và tăng hiệu suất thực hiện các truy vấn lập trình. Index được tạo ra theo nhiều cách khác nhau, nhưng chủ yếu là trên một hoặc nhiều cột của cùng một bảng.

17. Câu hỏi phỏng vấn SQL: Subquery là gì?

Gợi ý trả lời:

Subquery được biết đến với nhiều tên gọi khác nhau như truy vấn con, truy vấn phụ hay truy vấn lồng nhau. Đây thực chất là một truy vấn bên trong truy vấn gốc SQL và được nhúng bởi mệnh đề WHERE.

18. Tối ưu hóa truy vấn là gì?

Gợi ý trả lời:

Tối ưu hóa truy vấn là quy trình phức tạp được thực hiện trong hệ thống cơ sở dữ liệu nhằm so sánh các chiến lược truy vấn và tối ưu hóa chi phí trên thực tế.

Tối ưu hóa truy vấn là gì?

19. View là gì? Nêu lợi ích nổi bật của View

Gợi ý trả lời:

View là một bảng ảo chứa dữ liệu từ một hoặc nhiều bảng với lượt xem hạn chế quyền truy cập dữ liệu bằng cách khóa các truy vấn phức tạp. Chế độ View thực chất không chứa dữ liệu nhưng nó giúp người sử dụng dễ dàng truy vấn kết quả tìm kiếm, hạn chế quyền truy cập, thiết lập quyền riêng tư,…

20. Câu hỏi phỏng vấn SQL: CTE là gì?

Gợi ý trả lời:

CTE là viết tắt của “Common Table Expression” (Biểu thức bảng chung). CTE là một công cụ mạnh mẽ trong SQL cho phép bạn tạo ra tên bảng tạm thời và sử dụng nó trong câu truy vấn.

CTE thường được sử dụng để tạo các bảng tạm thời trong câu truy vấn, giúp bạn cải thiện khả năng đọc và quản lý mã SQL. Nó cho phép bạn xác định một biểu thức truy vấn (subquery) và gán cho nó một tên, sau đó bạn có thể sử dụng tên đó như một bảng ảo để thực hiện các câu truy vấn phức tạp hơn.

Bài viết cập nhật thông tin giúp bạn nắm được các câu hỏi SQL phổ biến để dễ dàng vượt qua vòng phỏng vấn. Đừng quên chia sẻ bài viết để những người yêu thích công việc này cùng thực hiện được ước mơ.

Leave a Reply

Your email address will not be published. Required fields are marked *