100 câu hỏi phỏng vấn sql hàng đầu năm 2022

Đối với các Data Analyst hay Business Analyst, SQL là ngôn ngữ truy vấn cơ sở dữ liệu khá quen thuộc giúp đáp ứng bất kì hệ thống cơ sở dữ liệu quan hệ. Tại các công ty hiện nay, họ sử dụng SQL để lưu trữ dữ liệu và phân chia chúng theo bảng với điều kiện có quan hệ mật thiết với nhau. SQL còn là ngôn ngữ dữ liệu giúp công ty dễ dàng quản lý và truy vấn dữ liệu một cách nhanh chóng. So với sử dụng Excel, SQL giúp bạn dễ dàng bảo trì thông tin, sửa chữa hoặc thay thế thông tin dễ dàng hơn so với trước kia. Chính vì lí do này, các nhà tuyển dụng khi phỏng vấn các vị trí về data thường chú trọng kiến thức SQL của bạn. Cùng MCI tìm hiểu một số câu hỏi về SQL được các nhà tuyển dụng đặc biệt chú ý tới nhé!

Đối với các Data Analyst hay Business Analyst, SQL là ngôn ngữ truy vấn cơ sở dữ liệu khá quen thuộc giúp đáp ứng bất kì hệ thống cơ sở dữ liệu quan hệ. Tại các công ty hiện nay, họ sử dụng SQL để lưu trữ dữ liệu và phân chia chúng theo bảng với điều kiện có quan hệ mật thiết với nhau. SQL còn là ngôn ngữ dữ liệu giúp công ty dễ dàng quản lý và truy vấn dữ liệu một cách nhanh chóng. So với sử dụng Excel, SQL giúp bạn dễ dàng bảo trì thông tin, sửa chữa hoặc thay thế thông tin dễ dàng hơn so với trước kia. Chính vì lí do này, các nhà tuyển dụng khi phỏng vấn các vị trí về data thường chú trọng kiến thức SQL của bạn. Cùng MCI tìm hiểu một số câu hỏi về SQL được các nhà tuyển dụng đặc biệt chú ý tới nhé!

MỘT SỐ CÂU HỎI PHỎNG VẤN SQL CƠ BẢN Ở CÁC CÔNG TY

Câu 1: Khóa chính - Primary Key trong Database là gì ?

Trong database, chức năng chính của primary key là xác định từng bản ghi là duy nhất trong bảng. Primary Key còn được hiểu là Unique và Not Null ( Không chứa các giá trị rỗng). Primary Key được định nghĩa bằng lệnh CREATE TABLE hoặc lệnh ALTER TABLE.

Ví dụ: 

CREATE TABLE ten_bang

(

cot1 kieu_du_lieu [ NULL | NOT NULL ] [ PRIMARY KEY ],

cot2 kieu_du_lieu [ NULL | NOT NULL ],

...

);

Câu 2: Khóa ngoài- Foreign Key trong SQL dùng để làm gì? 

Khác với Primary Key, Foreign Key được sử dụng để liên kết 2 bảng với nhau và đảm bảo tính toàn vẹn dữ liệu của các bảng. Bạn có thể hiểu đơn giản Foreign Key được xác định trong bảng tham chiếu đến khóa chính của bảng khác. Để sử dụng Foreign Key,  ta sử dụng cú pháp

CONSTRAINT tên_ràng_buộc FOREIGN KEY (column1) REFERENCES table_name(column2)

Ví dụ:

CREATE TABLE Groups (

    groupid INT(11) NOT NULL PRIMARY KEY,

    title INT(11) NOT NULL,

    LEVEL TINYINT(1) DEFAULT 1 NOT NULL

);

Câu 3: Muốn liên kết nhiều bảng với nhau trong SQL ta sử dụng câu lệnh nào ?

Để liên kết các bảng với nhau trong SQL, hãy sử dụng câu lệnh JOIN. Trong câu lệnh JOIN sẽ có các lệnh như sau: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN

Ví dụ:

SELECT column_list

FROM table1

RIGHT JOIN table2 ON join_condition1

RIGHT JOIN table3 ON join_condition2

Câu 4: Hãy cho biết công dụng của GROUP BY trong SQL?

Mệnh đề GROUP BY trong SQL cho phép sắp xếp các hàng của truy vấn theo nhóm. Các nhóm được xác định bởi các cột mà bạn chỉ định trong mệnh đề GROUP BY.  Ngoài ra, SELECT là mệnh đề đi trước mệnh đề GROUP BY và ORDER BY là mệnh đề đi sau ROUP BY. Bên cạnh đó, GROUP BY còn được sử dụng để tìm dữ liệu MIN, MAX, tính tổng theo điều kiện và đếm bản ghi thỏa mãn điều kiện nào đó

Ví dụ:

SELECT cot1, cot2 

FROM ten_bang  

WHERE [ dieu_kien ] 

GROUP BY cot1, cot2  

ORDER BY cot1, cot2  

Câu 5: Hãy cho biết cách phân biệt 2 câu lệnh Inner Join và Left Join

Inner Join là một lệnhJoin được sử dụng để kết hợp các hàng từ cả hai bảng thỏa mãn điều kiện đã cho.

Ví dụ:

Sử dụng Inner Join để trích xuất danh sách nhân viên đi xe máy cùng với biển số xe của họ để làm thẻ xe cho nhân viên. Lệnh Inner Join sẽ giúp bạn có được kết quả từ cả hai bảng thỏa mãn với các điều kiện đã cho.

Còn đối với Left Join trong SQL, kết quả nhận được là dữ liệu tất cả các hàng từ bảng bên trái và bản ghi trùng với bản bên phải. Nếu không khớp với dữ liệu nào ở bảng bên phải, kết quả trả về sẽ là NULL. 

Nói một cách dễ hiểu, Inner Join cho bạn kết quả có giá trị phù hợp với 2 bảng. Ngược lại, Left Join cho kết quả từ bảng bên trái và bảng trùng với dữ liệu bên phải.

Câu 6: Theo bạn, WHERE và HAVING khác nhau ở điểm nào?

Trong SQL, mệnh đề Where có chức năng lọc các dữ liệu và tìm kiếm dữ liệu. Mệnh đề WHERE không chỉ được sử dụng trong câu lệnh SELECT, mà nó còn được sử dụng trong câu lệnh UPDATE, DELETE. Giống với mệnh đề Where, mệnh đề Having cũng cho phép bạn lọc dữ liệu trong Database. Tuy nhiên, mệnh đề Having trả kết quả đối chiếu cho nhóm được tạo bởi mệnh đề Group by. Còn mệnh đề Where sẽ trả kết quả đối chiếu cho từng dòng. Bên cạnh đó, mệnh đề Having thường sử dụng hàm SUM, AVG và đứng sau mệnh đề Group by. 

Nói một cách ngắn gọn, mệnh đề Where filter dữ liệu cho từng dòng riêng lẻ còn mệnh đề Having filter dữ liệu theo từng nhóm.

Câu 7: Hãy cho biết khi truy vấn hoặc tìm dữ liệu, ta sử dụng câu lệnh nào ? 

Để truy vấn hoặc tìm dữ liệu trong Database, hãy sử dụng lệnh Select:

SELECT * FROM name_table;

Select * from table_name where column_name=’value’;  

Select * from User where username = ‘Lan’; 

Đừng quên truy cập nhóm: Data Analytics VietNam để tham khảo các kiến thức về data, thảo luận và cùng chia sẻ về ngành nghề đang được săn đón nhiều nhất hiện nay.