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;