100 câu hỏi phỏng vấn SQL từ dễ tới khó

trainmax 02/12/2024

SQL (Structured Query Language) là ngôn ngữ chuẩn dùng để tương tác với cơ sở dữ liệu, cho phép tạo, cập nhật, xóa và truy xuất dữ liệu. Ra đời vào những năm 1970 bởi các nhà khoa học máy tính IBM, SQL đã trở thành công cụ không thể thiếu cho các nhà phát triển phần mềm và quản trị viên cơ sở dữ liệu trên toàn thế giới.

Trong bài viết này, chúng tôi tổng hợp hơn 100 câu hỏi phỏng vấn SQL phổ biến nhất, kèm câu trả lời chi tiết, giúp bạn tự tin chinh phục các cuộc phỏng vấn tại các công ty lớn. Dù bạn là người mới bắt đầu hay đã có kinh nghiệm vài năm, đây sẽ là nguồn tham khảo giá trị để chuẩn bị tốt nhất.

Nội dung

  • Câu hỏi cơ bản về SQL cho người mới bắt đầu
  • Câu hỏi SQL trung cấp và câu trả lời
  • Câu hỏi nâng cao dành cho chuyên gia

Câu hỏi cơ bản về SQL dành cho người mới bắt đầu

1. SQL là gì?

SQL là viết tắt của Structured Query Language. Đây là ngôn ngữ chuẩn dùng để tương tác với cơ sở dữ liệu, hỗ trợ:

  • Tạo cơ sở dữ liệu và bảng.
  • Thêm, chỉnh sửa, hoặc xóa dữ liệu.
  • Truy vấn và quản lý dữ liệu.

SQL tuân theo tiêu chuẩn ANSI và hoạt động trên nhiều hệ quản trị cơ sở dữ liệu như MySQL, PostgreSQL, và Oracle.

2. Cơ sở dữ liệu là gì?

Cơ sở dữ liệu là hệ thống lưu trữ thông tin có cấu trúc, cho phép người dùng dễ dàng lưu trữ, truy xuất, và thao tác dữ liệu. Nó bao gồm các thành phần như:

  • Bảng: Lưu trữ dữ liệu dạng hàng và cột.
  • Lược đồ: Định nghĩa cấu trúc dữ liệu.
  • Chế độ xem: Hiển thị dữ liệu tùy chỉnh từ các bảng.

3. Sự khác biệt giữa CHAR và VARCHAR2 là gì?

CHAR

Độ dài cố định.

Phù hợp khi dữ liệu luôn cố định (ví dụ: mã quốc gia).

VARCHAR2

Độ dài thay đổi.

Tiết kiệm bộ nhớ hơn cho dữ liệu thay đổi (ví dụ: tên người dùng).

Ví dụ:

  • CHAR(5) luôn yêu cầu lưu trữ 5 ký tự.
  • VARCHAR2(5) cho phép lưu chuỗi từ 1 đến 5 ký tự.

4. Ngôn ngữ định nghĩa dữ liệu (DDL) là gì?

DDL (Data Definition Language) bao gồm các lệnh quản lý cấu trúc cơ sở dữ liệu:

  • CREATE: Tạo bảng hoặc cơ sở dữ liệu.
  • DROP: Xóa bảng hoặc cơ sở dữ liệu.
  • ALTER: Thay đổi cấu trúc bảng.

5. Ngôn ngữ thao tác dữ liệu (DML) là gì?

DML (Data Manipulation Language) dùng để truy cập và thay đổi dữ liệu:

  • INSERT: Thêm dữ liệu vào bảng.
  • UPDATE: Cập nhật dữ liệu.
  • DELETE: Xóa dữ liệu.

6. Chế độ xem (View) trong SQL là gì?

View là một bảng ảo được tạo từ câu lệnh SELECT, cho phép xem dữ liệu từ một hoặc nhiều bảng khác. View giúp đơn giản hóa truy vấn phức tạp và bảo vệ dữ liệu nhạy cảm.

Cú pháp:

CREATE VIEW view_name AS

SELECT column1, column2

FROM table_name

WHERE condition; 

7. Khóa ngoại là gì?

Khóa ngoại (Foreign Key) là trường trong bảng này liên kết với khóa chính của bảng khác, dùng để thiết lập mối quan hệ giữa các bảng.

Ví dụ:
Bảng Orders có khóa ngoại C_ID liên kết với bảng Customers.
Cú pháp:
CREATE TABLE Orders (
O_ID int NOT NULL,
ORDER_NO int NOT NULL,
C_ID int,
PRIMARY KEY (O_ID),
FOREIGN KEY (C_ID) REFERENCES Customers(C_ID)
);

8. Table và Field là gì?

  • Table: Là tập hợp dữ liệu dạng hàng và cột.
  • Field: Là cột trong bảng, chứa một loại dữ liệu cụ thể.

9. Khóa chính là gì?

Khóa chính (Primary Key) là trường duy nhất xác định một bản ghi trong bảng. Mỗi bảng chỉ có một khóa chính.

10. Ràng buộc mặc định là gì?

Ràng buộc DEFAULT dùng để gán giá trị mặc định cho một cột khi không nhập dữ liệu.
Ví dụ:
CREATE TABLE Employees (
ID int NOT NULL,
Name varchar(50),
Salary int DEFAULT 5000
);

 

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

All in one