Top 40+ câu hỏi phỏng vấn sql thường gặp và câu trả lời chính xác nhất

Hiện nay có rất nhiều bạn trẻ có niềm đam mê với ngành lập trình, QA, BA và ngôn ngữ SQL hẳn sẽ không còn xa lạ. Đây là ngôn ngữ truy vấn cấu trúc được xây dựng trong hệ thống quản lý dữ liệu. Hiểu rõ những câu hỏi phỏng vấn SQL sẽ là ưu thế lớn và giúp bạn có thể chủ động thể hiện khả năng của bản thân trong quá trình trao đổi với nhà tuyển dụng.

Khái niệm SQL là gì?

SQL là từ viết tắt của Structured Query Language, là một ngôn ngữ truy vấn có cấu trúc được sử dụng thường xuyên trong việc lập trình. Ngôn ngữ SQL được thiết kế với mục đích là quản lý dữ liệu lưu trong hệ thống RDBMS ( quản lý cơ sở dữ liệu quan hệ ) và xử lý luồng của hệ thống quản lý RDSMS ( luồng dữ liệu quan hệ ). Vai trò được sử dụng nhiều là xóa, tạo và sửa đổi bảng. Đây là một câu hỏi phỏng vấn SQL cơ bản mà bạn cần nắm rõ. 

Câu lệnh nào để chọn tất cả bản ghi từ table?

Câu lệnh : Select * from table_name; sử dụng trong trường hợp chọn bản ghi từ table. 

Định nghĩa JOIN là gì và các loại JOIN

Từ khóa JOIN sử dụng với mục đích là nạp dữ liệu từ 2 hoặc nhiều bảng có sự liên quan. Bạn có thể sử dụng JOIN khi cần truy vấn các cột dữ liệu từ các bảng rồi trả về một tập kết quả duy nhất. 

Các loại JOIN gồm có: 

  • CROSS JOIN

  • LEFT OUTER JOIN

  • FULL OUTER JOIN

  • SELF JOIN

  • INNER JOIN

  • RIGHT OUTER JOIN

Sử dụng Cú pháp gì để thêm bản ghi vào 1 bảng?

Khi cần thêm bản ghi vào một bảng bạn hãy sử dụng cú pháp INSERT. 

Làm thế nào để bạn thêm 1 cột vào 1 bảng?

Khi cần thêm 1 cột vào một bảng bạn cần sử dụng cú pháp là: ALTER TABLE table_name ADD (column_name).

Cách xác định câu lệnh Delete SQL

Câu lệnh Delete SQL được sử dụng với mục đích xóa hàng hoặc nhiều hàng từ một bảng dựa trên câu lệnh được quy định sẵn với cú pháp là:

DELETE FROM table_name<br>WHERE<Condition>

Lệnh Delete không phải câu hỏi phỏng vấn SQL khó nếu bạn đã có 

Cách xác định COMMIT

COMMIT lưu lại tất cả những sự thay đổi được thực hiện bởi DML. DML cho phép tiến hành các truy vấn, bao gồm cả các cú pháp sửa, cập nhật, chèn và xóa mẫu tin.

KEY là gì?

PRIMARY KEY hay khóa chính là cột duy nhất có các giá trị xác định trong mỗi hàng tại một bảng. Giá trị PRIMARY KEY không bao giờ tái sử dụng. 

FOREIGN KEY là gì?

Trong trường hợp một trường khóa chính của bảng được cập nhật vào các bảng có liên quan để tạo nên trường phổ biến liên quan đến cả 2 bảng thì được gọi là FOREIGN KEY – khóa ngoại trong các bảng khác.

CHECK Constraint là gì?

Một ràng buộc CHECK được dùng khi muốn giới hạn những giá trị hay loại dữ liệu có thể lưu trữ trong một cột. trong trường hợp bản ghi không đáp ứng được điều kiện trên thì không thể lưu trữ vào trong bảng.

Một bảng có nhiều hơn một khóa ngoại không?

Một bảng hoàn toàn có thể có nhiều hơn một khóa ngoại, tuy nhiên chỉ có thể có một khóa chính mà thôi. 

Trường dữ liệu BOOLEAN có giá trị nào?

Trường dữ liệu BOOLEAN  chỉ có 2 giá trị đó là 0 và -1 ( FALSE và TRUE )

Stored procedure là gì?

Một thủ tục lưu trữ (Stored procedure) là một tập hợp những truy vấn SQL mà ở đó có thể lấy đầu vào cũng như gửi lại đầu ra.

IDENTITY trong SQL là gì?

IDENTITY trong SQL có thế tự động sinh ra những giá trị số tự tăng và định nghĩa được giá trị bắt đầu, gia tăng trong cột nhận dạng.

NORMALIZATION  là gì?

NORMALIZATION – Chuẩn hóa là quá trình thiết kế bảng nhằm giảm thiểu việc thừa số liệu.

Trigger là gì?

Trigger là một thủ tục tiến hành từ phía máy chủ cơ sở dữ liệu khi mà một sự kiện bảng xảy ra (thêm, chèn, xóa lệnh thực hiện với một bảng nhất định).

Cách lấy ra các hàng ngẫu nhiên từ một bảng?

Bạn có thể lấy ra các hàng ngẫu nhiên từ một bảng bằng các dùng câu lệnh SAMPLE.

Cổng TCP/IP nào giúp SQL server chạy?

Mặc định là cổng 1443 sẽ giúp SQL Server chạy.

Khái niệm DML và DDL là gì?

  • DML viết tắt từ Data Manipulation Language, là một ngôn ngữ thao tác dữ liệu. INSERT, UPDATE hay DELETE là các câu lệnh của DML.

  • DDL viết tắt từ Data Definition Language, là ngôn ngữ định nghĩa dữ liệu. CREATE, DROP, ALTER và RENAME là các câu lệnh của DDL.

Sử dụng lệnh nào đổi tên một cột trong đầu ra của truy vấn SQL?

Để đổi tên một cột trong đầu ra của truy vấn SQL bạn hãy dùng cú pháp là: SELECT column_name AS new_name FROM table_name;

Đây là câu hỏi phỏng vấn SQL không khó và mang tính thực thi cao.

Thứ tự của SQL SELECT là gì?

Thứ tự lần lượt của SQL SELECT lần lượt là: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY và SELECT, FROM là bắt buộc.

Khái niệm SQL comments là gì?

SQL comments là hành động thêm ghi chú, nhận xét. Khi muốn thêm một chú thích rõ ràng và chi tiết hơn vào truy vấn SQL người ta thường dùng đến SQL comments, nó có thể được đặt bởi 2 dấu (-) hoặc là /*….*/

Sự khác biệt giữa các lệnh TRUNCATE, DELETE và DROP?

  • TRUNCATE là lệnh xóa tất cả các hàng trong một bảng và không thể khôi phục dữ liệu. 

  • DROP là lệnh xóa hoàn toàn một bảng.

  • DELETE là lệnh xóa một hoặc tất cả các hàng trong một bảng dựa vào điều kiện và có thể phục hồi nếu muốn. 

Các thuộc tính một giao dịch là gì?

ACID được gọi là các thuộc tính giao dịch, nó bao gồm: 

  • Atomicity – Tính nguyên tử

  • Isolation – Cô lập

  • Durability – Độ bền

  • Consistency – Tính nhất quán 

ROWID nghĩa là gì?

ROWID là một cột giả dài có 18 ký tự gắn liền với một hàng trong bảng.

Cách xác định UNION, MINUS, UNION ALL, INTERSECT?

Câu hỏi phỏng vấn SQL tiếp theo là kiến thức về UNION, MINUS, UNION ALL, INTERSECT

  • UNION được dùng khi muốn viết nhiều truy vấn SELECT khác nhau nhưng lại trả về chỉ một kết quả duy nhất. 

  • MINUS được dùng khi muốn kết hợp hai câu câu lệnh SELECT.

  • UNION ALL đem về kết quả của tất cả các hàng được chọn từ 1 trong 2 truy vấn.

  • INTERSECT trả kết quả là những bản ghi có cả trong 2 bảng.

Transaction là gì?

Transaction – Giao dịch là một dãy mã được chạy trên cơ sở dữ liệu.

UNIQUE và PRIMARY KEY constraints khác nhau thế nào?

  • Chỉ có thể có 1 PRIMARY KEY nhưng có thể có nhiều hoặc không có UNIQUE KEY.

  • PRIMARY KEY không có khả năng chứa giá trị NULL, UNIQUE thì có thể.

Composite primary key là gì?

Composite primary key – Khóa tổng hợp là khóa chính được tạo từ nhiều cột. 

Subquery là gì?

Subquery – Truy vấn con là một truy vấn ở bên trong truy vấn SQL khác, được nhúng trong mệnh đề WHERE.

Collation là gì?

Collation là bộ quy tắc định nghĩa cách lưu trữ, phân biệt viết hoa, thường và ký tự Kana của dữ liệu được xử lý như thế nào.

Tính toàn vẹn tham chiếu là gì?

Tính toàn vẹn tham chiếu là tổng hợp những quy tắc hạn chế  giá trị của nhiều hoặc 1 cột trên bảng dựa vào những giá trị của khóa chính hay khóa duy nhất tại bảng tham chiếu.

Hàm Case là gì?

Hàm Case là khi tạo if-then-else trong SQL, đánh giá một danh sách có điều kiện và trả về một trong những biểu thức kết quả tốt.

Xác định một bảng tạm thời?

Một bảng tạm thời là cấu trúc lưu trữ dùng để lưu trữ dữ liệu một cách tạm thời.

Làm thế nào chúng ta có thể tránh trùng lặp hồ sơ cùng một truy vấn?

Sử dụng từ khóa INSTINCT.

Giải thích sự khác nhau giữa đổi tên Rename và Alias?

Rename – đổi tên là tên thường xuyên cho bảng hoặc cột và Alias – Bí danh là tên tạm thời của bảng hoặc cột.

View là gì? Lợi ích của View

Khung nhìn là một bảng ảo mà trong đó chứa dữ liệu của một hoặc nhiều bảng. View hay còn gọi là lượt xem hạn chế quyền truy cập dữ liệu của bảng bằng phương pháp chỉ chọn các giá trị được yêu cầu và tiến hành các truy vấn phức tạp. 

View không có chứa dữ liệu vì đây là một cấu trúc ảo.

Lợi ích của view: 

  • Hạn chế quyền truy cập vào dữ liệu.

  • Có thể truy vấn những kết quả tìm kiếm phức tạp.

Schema là gì?

Biểu đồ – Schema là tập hợp những đối tượng cơ sở dữ liệu của người dùng

Bảng là gì?

Bảng là đơn vị cơ bản trong lưu trữ dữ liệu của hệ thống quản lý cơ sở dữ liệu. Dữ liệu bảng lưu trữ ở trong cột và hàng.

Chế độ xem có thể dựa trên một chế độ xem khác không?

Chế độ xem có thể dựa trên một chế độ xem khác.

Having và mệnh đề Where khác nhau thế nào?

Đều là hai mệnh đề tìm kiếm nhưng Having chỉ được dùng với câu lệnh SELECT và mệnh đề GROUP BY. Trong trường hợp không có mệnh đề GROUP BY thì Having được dùng như mệnh đề WHERE.

Local và Global là gì?

Bảng tạm cục bộ – Local tồn tại bên trong một kết nối. Khi ngắt kết nối, bảng tạm sẽ tự động được xóa. 

Bảng tạm toàn cầu – Global tồn tại vĩnh viễn bên trong db nhưng các hàng sẽ biến mất khi đóng kết nối.

CTE là gì?

Biểu thức bảng hay CTE là viết tắt của Common Table Expression,là một biểu thức mà trong đó chứa tập kết quả tạm thời được định nghĩa bởi câu lệnh SQL.

Devwork đã cùng bạn tìm hiểu Top 40+ câu hỏi phỏng vấn sql thường gặp và câu trả lời chính xác nhất. Chúng tôi hy vọng những thông tin này sẽ hữu ích với bạn. Và nếu bạn đang quan tâm đến lĩnh vực tuyển dụng thì đừng bỏ qua Devwork – Nền tảng tuyển dụng IT kết nối HR Freelancer.