Câu hỏi phỏng vấn SQL cho tester, lập trình viên, BA,… thường là các câu hỏi thiên về kỹ thuật được nhà tuyển dụng sử dụng nhiều. Bởi vì, để đánh giá trình độ chuyên môn của ứng viên, các câu hỏi SQL là yếu tố quan trọng trong buổi phỏng vấn. Bài viết này gợi ý cho bạn những câu hỏi cũng như cách trả lời phỏng vấn SQL thường gặp mà bạn có thể tham khảo.
1. Chuẩn bị cho câu hỏi phỏng vấn SQL quan trọng thế nào?
Lĩnh vực công nghệ thông tin đang trên đà phát triển mạnh mẽ và đóng vai trò quan trọng trong đời sống con người. Chính vì vậy, nhu cầu tuyển dụng lập trình viên SQL ngày càng tăng cao. Đồng thời, để tránh mất thời gian tuyển dụng, các HR cần tìm hiểu kỹ lưỡng, chi tiết về các câu hỏi phỏng vấn về SQL để đánh giá ứng viên hiệu quả.
Bên cạnh đó, khi các ứng viên ứng tuyển vào vị trí này, thì nên tham khảo câu hỏi và câu trả lời liên quan SQL thường gặp trong phỏng vấn. Từ đó, ứng viên dễ dàng chinh phục nhà tuyển dụng và cạnh tranh với các đối thủ khác.
>>> Xem thêm: Khi đi phỏng vấn cần chuẩn bị gì để tạo ấn tượngk?
2. Các câu hỏi phỏng vấn SQL và cách trả lời
Gợi ý các câu hỏi phỏng về SQL phổ biến kèm cách trả lời ấn tượng dưới đây:
Câu 1: SQL là gì?
SQL là từ viết tắt của cụm từ tiếng anh Structured Query Language được hiểu như là một loại ngôn ngữ truy vấn cấu trúc. Ngôn ngữ dữ liệu SQL được thiết kế để quản lý hệ thống data . Hơn nữa, SQL có chức năng để tạo, xóa, lấy và sửa đổi các hàng.
Câu 2: MySQL là gì?
Nếu như SQL là một ngôn ngữ truy vấn thì MySQL được xem như là một cơ sở dữ liệu quan hệ. Đồng thời MySQL còn sử dụng SQL làm ngôn ngữ cho cơ sở dữ liệu tiêu chuẩn.
Câu 3: Vai trò của SQL là gì?
Trong hệ thống cơ sở dữ liệu, SQL đóng vai trò như:
- Thực thi những truy vấn của cơ sở dữ liệu.
- Lấy thông tin, data từ cơ sở dữ liệu.
- Cập nhập bản ghi trong hệ thống cơ sở dữ liệu.
- Xóa bản ghi ra khỏi cơ sở dữ liệu.
- Tạo bảng mới, cơ sở dữ liệu mới.
- Tạo những thủ tục lưu trữ trong cơ sở của dữ liệu.
- Tạo các dạng xem đặt quyền trên bảng trong cơ sở dữ liệu.
Câu 4: Sự khác biệt giữa SQL và MySQL là gì?
Nếu như bạn nắm được khái niệm của SQL và MySQL thì bạn có thể dễ dàng trả lời câu hỏi này. Bởi vì, SQL là dạng ngôn ngữ truy vấn tiêu chuẩn để truy xuất cũng như thao tác cơ sở dữ liệu. Còn MySQL là dạng cơ sở dữ liệu sử dụng SQL làm ngôn ngữ cho hệ thống.
Câu 5: Cú pháp để thêm bản ghi vào 1 bảng là gì?
Cú pháp thêm bản ghi vào 1 bảng sử dụng INSERT với công thức INSERT into table_name ADD(column_name).
Câu 6: Xác định COMMIT
COMMIT sử dụng để lưu trữ tất cả các thay đổi do câu lệnh DML thực hiện. Đồng thời, DML cho phép COMMIT truy vấn các cú pháp cập nhập, sửa đổi, thêm cũng như xóa các mẩu tin.
Câu 7: Thủ tục lưu trữ (stored procedure) là gì?
Thủ tục lưu trữ được hiểu là một tập hợp những truy vấn của SQL lấy thông tin đầu vào và gửi ngược lại đầu ra.
Câu 8: Thứ tự của SQL SELECT?
SQL SELECT sắp xếp các mệnh đề theo thứ tự sau: SELECT – FROM – WHERE – GROUP BY – HAVING – ORDER BY.
>>> Xem thêm: Bộ Câu Hỏi Phỏng Vấn Tester Đầy Đủ Kèm Câu Trả Lời Ấn Tượng
Câu 9: Giao dịch (transaction) là gì?
Đối với những câu hỏi phỏng vấn SQL dạng khái niệm, ứng viên có thể nắm được từ khóa chính để diễn đạt theo cách hiểu của mình. Đây cũng là cách giúp nhà tuyển dụng có cái nhìn khác về trình độ của bạn. Với câu hỏi trên, câu trả lời sẽ là một giao dịch Transaction được thực hiện bằng dãy mã chạy trên cơ sở dữ liệu.
Câu 10: Hàm Case là gì?
Hàm Case hỗ trợ người dùng trong các trường hợp tạo logic dạng if – then – else trong hệ thống SQL. Ngoài ra hàm Case giúp SQL đánh giá danh sách dữ liệu có điều kiện và trả về biểu thức có kết quả tốt.
Câu 11: Bảng là gì?
Đây là một trong những câu hỏi đơn giản nhưng được rất nhiều nhà tuyển dụng sử dụng trong buổi phỏng vấn. Bảng là đơn vị cơ bản. biểu hiện ở hàng và cột của lưu trữ dữ liệu thuộc hệ thống MySQL. Thông thường, dữ liệu bảng sẽ được thể hiện và lưu trữ dạng hàng và cột.
Câu 12: Chế độ xem có thể dựa trên một chế độ xem khác không?
Nếu như bạn nắm rõ kiến thức về SQL thì chắc hẳn câu hỏi không làm khó bạn được. Bởi vì hầu hết các lập trình viên đều biết là chế độ xem sẽ dựa trên một chế độ xem khác trên hệ thống.
Câu 13: Sự khác nhau giữa mệnh đề Having và mệnh đề Where?
Mệnh đề Having và Where đều dùng để làm điều kiện tìm kiếm. Tuy nhiên, mệnh đề Having chỉ sử dụng với câu lệnh của SELECT với mệnh đề GROUP BY là điều kiện bắt buộc. Ngược lại, đối với mệnh đề WHERE không cần sử dụng với mệnh đề GROUP BY nhưng vẫn được dùng với mục đích tìm kiếm.
Câu 14: CTE là gì?
CTE là từ viết tắt bởi cụm từ tiếng Anh COMMON Table Expression, được định nghĩa như là một biểu thức chứa tập hợp các kết quả tạm thời trong câu lệnh SQL.
Câu 15: Nêu các loại đặc quyền trong SQL
Hiện nay, SQL có hai loại đặc quyền, đó là System Privileges (đặc quyền hệ thống) và Object Privileges (đặc quyền đối tượng). Đối với đặc quyền hệ thống, người dùng có thể thực hiện các tác vụ trên hệ thống như ALTER ANY INDEX, ALTER ANY CACHE GROUP CREATE,.. Đặc quyền đối tượng là người dùng thực hiện tác vụ trên một đối tượng như INSERT, DELETE, LOAD,…
Câu 16: Cách để hiển thị thời gian và ngày hiện tại với các truy vấn SQL
Đây có thể là một câu hỏi phỏng vấn SQL dễ nếu như ứng viên nắm vững kiến thức. Thông thường, để hiển thị thời gian và ngày hiện tại dùng lệnh GetDate.
Câu 17: Các tập con của SQL là gì?
SQL bao gồm những tập con như: DDL (Ngôn ngữ định nghĩa dữ liệu), DML (Ngôn ngữ thao tác dữ liệu), DCL (Ngôn ngữ điều khiển dữ liệu). Trong đó, DDL hỗ trợ hệ thống xác định cấu trúc dữ liệu, DML sẽ thực hiện các thao tác như chọn, chèn xóa và cập nhập, DCL sẽ giúp hệ thống kiểm soát quyền truy cập dữ liệu.
Câu 18: Trình bày các loại JOIN cơ bản trong SQL
Trong hệ thống SQL hiện nay có tất cả bốn loại Join cơ bản như:
- INNER JOIN: Trả tất cả các bản ghi có giá trị phù hợp trong SQL.
- LEFT OUTER JOIN hoặc LEFT JOIN: Trả về các hàng nằm bên trái trong điều kiện “on”.
- RIGHT OUTER JOIN hoặc RIGHT JOIN: Trả về các hàng nằm bên phải trong điều kiện “on” với bản ghi khớp từ bên trái.
- FULL OUTER JOIN: Trả về tất cả các bản ghi với điều kiện trùng khớp các thông tin trong bản ghi bên trái hoặc bên phải.
Câu 19: Ưu điểm của Views là gì?
Khi nhắc đến Views, không thể nào bỏ qua ưu điểm vượt trội của Views, đó là đơn giản hóa truy vấn. Thông qua đó, người dùng sử dụng Views để truy vấn kết quả tìm kiếm phức tạp và được hiển thị trên cột được chọn từ các bảng trong SQL.
Câu 20: SQL có hỗ trợ các tính năng của ngôn ngữ lập trình không?
Trong dạng câu hỏi phỏng vấn SQL, thì câu hỏi này thường được nhà tuyển dụng sẽ sử dụng để đánh giá trình độ của ứng viên. Và cách trả lời câu hỏi này sẽ là SQL tuy không phải là ngôn ngữ lập trình và không thực sự hỗ trợ các tính năng ngôn ngữ lập trình truy cập. SQL chỉ sử dụng làm ngôn ngữ dữ liệu trong hệ thống quản lý để thực hiện các thao tác.
Câu 21: Các ràng buộc (Constraints) trong SQL là gì?
Ràng buộc Constraints là tổng hợp các quy tắc áp dụng cho một hoặc nhiều trường dữ liệu trong một bảng. Các ràng buộc sử dụng phổ biến trong SQL như:
- NOT NULL: Có nghĩa là không cho phép giá trị NULL hiển thị trong cột.
- UNIQUE: Tất cả giá trị trong cột không được phép trùng lặp.
- PRIMARY KEY: Hỗ trợ cơ sở dữ liệu xác định giá trị duy nhất trong một bảng.
- FOREIGN KEY: Cho phép SQL liên kết 2 bảng khác nhau bằng phương pháp tham chiếu khóa chính trong một bảng khác.
- CHECK: Là ràng buộc kiểm tra giá trị trong cột có đáp ứng điều kiện đã chỉ định trước hay chưa.
- DEFAULT: Khi không có giá trị nào ràng buộc trước thì giá trị mặc định sẽ được thêm vào bản ghi mới.
- CREATE INDEX: Hỗ trợ tạo mục để truy xuất dữ liệu nhanh hơn.
Câu 22: Khóa chính (Primary Key) là gì?
Khóa chính hay được gọi là khóa “ứng cử viên” mà trong đó chỉ một cột trong bảng có giá trị xác định “duy nhất” mỗi bảng. Trong đó, giá trị khóa chính chỉ sử dụng 1 lần và không được sử dụng lại. Ngoài ra, khi sử dụng khóa chính ở bất kỳ cột nào thì giá trị NULL sẽ không được phép xuất hiện ở cột đó.
Câu 23: Sự khác biệt giữa khóa chính (Primary Key) và các ràng buộc duy nhất (Unique Constraints) là gì?
Đây là câu hỏi phỏng vấn SQL có thể đánh giá sự hiểu biết của ứng viên về khóa chính và các ràng buộc. Cách trả lời ngắn gọn, rõ ràng, đó là Unique Constraints chấp nhận giá trị NULL có trong bảng cơ sở dữ liệu. Tuy nhiên, khóa chính không chấp nhận giá trị NULL hiển thị trong cột.
Câu 24: Phép nối (JOIN) trong SQL là gì? Liệt kê các loại JOIN phổ biến
Phép nối Join là phương thức nạp dữ liệu từ hai hoặc nhiều bảng có sự liên quan với nhau. Ngoài ra, JOIN được sử dụng với mục đích truy vấn các cột dữ liệu từ nhiều bảng, sau đó trả về một tập giá trị kết quả duy nhất.
Một số loại JOIN phổ biến như: CROSS JOIN, LEFT OUTER JOIN, FULL OUTER JOIN, SELF JOIN, INNER JOIN, RIGHT OUTER JOIN.
Câu 25: Index là gì?
Index là một bảng tra cứu đặc biệt mà hệ thống cơ sở dữ liệu sử dụng để gia tăng hiệu suất cũng như thời gian thực hiện truy vấn SQL. Bên cạnh đó, Index còn giúp người dùng giảm chi trí truy cập. Bởi vì, Index làm giảm số lượng trang dữ liệu mà bạn cần tìm kiếm để tìm ra một trang dữ liệu cụ thể.
Câu 26: Sự khác biệt giữa Clustered và Non-clustered là gì?
Một cách nhận biết sự khác biệt rõ ràng giữa Clustered và Non-clustered là Clustered được tạo ra từ một bảng với duy nhất một khóa chính. Đối với Non-clustered thì tạo ra từ một bảng nhưng không có ràng buộc PRIMARY KEY.
Câu 27: Làm thế nào để thêm 1 cột vào 1 bảng?
Thêm một câu hỏi phỏng vấn SQL đơn giản sẽ được nhà tuyển dụng sử dụng mở đầu nhẹ nhàng cho ứng viên về các câu hỏi chuyên môn. Nếu bạn muốn thêm 1 cột vào 1 bảng thì sử dụng cú pháp ALTER TABLE, cụ thể là ALTER TABLE table_name ADD(column_name)
Câu 28: Cách xác định câu lệnh Delete SQL
Lệnh Delete SQL được dùng với mục đích để xóa hàng hoặc nhiều hàng trên một bảng dựa vào cú pháp: DELETE FROM table_name
Where
Câu 29: KEY là gì?
Thật sự mà nói, ngoài những câu hỏi khó khiến ứng viên phải suy nghĩ, thì những câu về định nghĩa này cũng làm không khí phỏng vấn xua tan căng thẳng. Trả lời cho câu hỏi trên thì KEY là định nghĩa để chỉ khóa chính ở một cột duy nhất với các giá trị xác định tại mỗi hàng có trong bảng.
Câu 30: FOREIGN KEY là gì?
FOREIGN KEY là một loại khóa ngoại trong các bảng khác, khi trường khóa chính của bảng cập nhập vào các bảng liên quan hệ thống cơ sở dữ liệu để tạo nên trường phổ biến cho 2 bảng.
Câu 31: Trigger là gì?
Trigger là một thủ tục được tiến hành từ máy chủ khi có hoạt động xảy ra trong bảng như chèn, xóa lệnh,…
Câu 32: Cách lấy ra các hàng ngẫu nhiên từ một bảng?
Câu lệnh SAMPLE dùng để lấy các hàng ra một cách ngẫu nhiên từ một bảng mà lập trình viên hay áp dụng.
Câu 33: Cổng TCP/IP nào giúp SQL server chạy?
Đây là câu hỏi phỏng vấn SQL server nhiều nhà tuyển dụng dùng để “bẫy” ứng viên. Hiện nay, cổng 1443 được xem là cổng TCP/IP mặc định giúp SQL server chạy.
Câu 34: Các thuộc tính một giao dịch là gì?
Một giao dịch phổ biến bao gồm các thuộc tính như: tính nguyên tử (Atomicity), cô lập ( Isolation, độ bền ( Durability) và tính nhất quán (Consistency).
Câu 35: UNIQUE và PRIMARY KEY constraints khác nhau như thế nào?
Trong SQL, UNIQUE KEY có thể có nhiều hoặc không có nhưng trong hệ thống cơ sở dữ liệu chỉ tồn tại 1 PRIMARY KEY. Bên cạnh đó, UNIQUE còn có khả năng chứa giá trị NULL nhưng PRIMARY KEY thì không có giá trị NULL.
>>> Xem thêm: 50+ Mẫu câu hỏi phỏng vấn nhân viên kinh doanh điển hình
3. Các lưu ý khi trả lời các câu hỏi phỏng vấn SQL
Nếu bạn muốn vượt qua các câu hỏi phỏng vấn SQL đơn giản thì bạn chú ý những điều sau:
- Chuẩn bị thật tốt kiến thức và kỹ năng trả lời phỏng vấn bằng cách tham khảo và ôn tập trước để bạn không bị bối rối khi đối mặt với nhà tuyển dụng.
- Nên đến sớm hơn thời gian phỏng vấn ít nhất 10 phút để chuẩn bị, tránh đến trễ buổi phỏng vấn khiến nhà tuyển dụng đánh giá không tốt về tính chuyên nghiệp của bạn.
- Trang phục lịch sự, gọn gàng sẽ tạo được ấn tượng tốt với nhà tuyển dụng.
- Thái độ tự tin, bình tĩnh, trả lời rõ ràng, đúng với câu hỏi nhà tuyển dụng đưa ra.
Những bài viết liên quan:
– Top 30 câu hỏi phỏng vấn lễ tân khách sạn hỏi nhiều nhất
– 30+ Bộ các câu hỏi phỏng vấn ngân hàng và kinh nghiệm trả lời
Tìm hiểu các bài viết liên quan:
Những câu hỏi phỏng vấn SQL là dạng câu hỏi chuyên ngành mà không phải ai cũng có thể dễ dàng trả lời. Chính vì vậy, bạn cần chuẩn bị thật kỹ trình độ chuyên môn của mình thật tốt trước khi đến buổi phỏng vấn. Hy vọng, những câu hỏi mà Job3s tổng hợp sẽ giúp bạn củng cố lại kiến thức vượt qua vòng phỏng vấn chuyên nghiệp.