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

SQL là gì? SQL là viết tắt của Structured Query Language. SQL là một ngôn ngữ lập trình được sử dụng để giao tiếp và thao tác với cơ sở dữ liệu. Ngôn ngữ truy vấn có

Nội Dung:

  • 1. SQL là gì?
  • 2. Tại sao sử dụng SQL?
  • 3. SQL có thể làm gì?
  • 4. Quy trình SQL
  • 5. 50+ các câu hỏi thường gặp trong SQL
    • 5.1. 17 câu hỏi phỏng vấn máy chủ SQL cho người mới bắt đầu
    • 5.2. 17 câu hỏi phỏng vấn máy chủ SQL trung cấp
    • 5.3. 16 câu hỏi phỏng vấn máy chủ SQL nâng cao


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

1. SQL là gì?

SQL là viết tắt của Structured Query Language. SQL là một ngôn ngữ lập trình được sử dụng để giao tiếp và thao tác với cơ sở dữ liệu.

Ngôn ngữ truy vấn có cấu trúc (SQL) là một ngôn ngữ lập trình được sử dụng để giao tiếp và thao tác với cơ sở dữ liệu.

SQL được phát triển vào những năm 1970 bởi các nhà nghiên cứu của IBM.

Ngoài ra, họ đang sử dụng các phương ngữ khác nhau, chẳng hạn như -

  • MS SQL Server sử dụng T-SQL,

  • Oracle sử dụng PL / SQL,

  • Phiên bản MS Access của SQL được gọi là JET SQL (định dạng gốc), v.v…

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

2. Tại sao sử dụng SQL?

SQL phổ biến rộng rãi vì nó mang lại những ưu điểm sau:

  • Cho phép người dùng truy cập dữ liệu trong hệ quản trị cơ sở dữ liệu quan hệ.

  • Cho phép người dùng mô tả dữ liệu.

  • Cho phép người dùng xác định dữ liệu trong cơ sở dữ liệu và thao tác với dữ liệu đó.

  • Cho phép nhúng trong các ngôn ngữ khác bằng cách sử dụng mô-đun, thư viện và trình biên dịch trước SQL.

  • Cho phép người dùng tạo và thả cơ sở dữ liệu và bảng.

  • Cho phép người dùng tạo chế độ xem, thủ tục được lưu trữ, các chức năng trong cơ sở dữ liệu.

  • Cho phép người dùng thiết lập quyền trên bảng, thủ tục và dạng xem.

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

3. SQL có thể làm gì?

SQL có thể thực thi các truy vấn đối với cơ sở dữ liệu, lấy cơ sở dữ liệu. Có thể chèn các bản ghi trong cơ sở dữ liệu, cập nhật các bản ghi trong cơ sở dữ liệu. SQL có thể tạo cơ sở dữ liệu mới, tạo bảng mới trong cơ sở dữ liệu. SQL có thể tạo các thủ tục được lưu trữ trong cơ sở dữ liệu, tạo các dạng xem trong cơ sở dữ liệu, đặt quyền trên bảng, thủ tục và dạng xem

4. Quy trình SQL

Khi thực thi lệnh SQL cho bất kỳ RDBMS nào để tốt nhất thì cần tìm ra cách diễn giải tác vụ.

Có nhiều thành phần khác nhau được bao gồm trong quá trình này.

Các thành phần này là :

Công cụ truy vấn cổ điển xử lý tất cả các truy vấn không phải SQL, những công cụ truy vấn SQL sẽ không xử lý các tệp logic.

Dưới đây là sơ đồ đơn giản kiến trúc SQL:

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

5. 50+ các câu hỏi thường gặp trong SQL

5.1. 17 câu hỏi phỏng vấn máy chủ SQL cho người mới bắt đầu

1. Hệ quản trị cơ sở dữ liệu quan hệ là gì?

Câu trả lời :

Hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) đề cập đến phần mềm được sử dụng để lưu trữ, quản lý và truy vấn dữ liệu. Dữ liệu được lưu trữ trong các bảng và có thể được liên kết với các bộ dữ liệu khác dựa trên thông tin được chia sẻ, do đó có tên là "quan hệ". 

2. Hệ quản trị cơ sở dữ liệu quan hệ khác với hệ quản trị cơ sở dữ liệu như thế nào?

Câu trả lời :

Sự khác biệt chính giữa Hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) và Hệ thống quản lý cơ sở dữ liệu (DBMS) là:

  • RDBMS lưu trữ dữ liệu trong bảng quan hệ với các hàng và cột, trong khi DBMS lưu trữ dữ liệu dưới dạng tệp

  • RDBMS cung cấp quyền truy cập cho nhiều người dùng (bao gồm cả tương tác phía máy khách-máy chủ), trong khi DBMS chỉ hỗ trợ người dùng đơn lẻ

3. Một số Hệ thống quản lý cơ sở dữ liệu quan hệ phổ biến nhất là gì?

Câu trả lời :

Một số RDBMS phổ biến nhất là:

4. Vai trò của SQL là gì?

Câu trả lời :

SQL là một ngôn ngữ lập trình được sử dụng để thực hiện các tác vụ liên quan đến dữ liệu; mọi RDBMS sử dụng SQL làm ngôn ngữ lập trình tiêu chuẩn của nó. Trong các cơ sở dữ liệu này, SQL cho phép người dùng tạo bảng, cập nhật dữ liệu, thực hiện truy vấn và thực hiện phân tích.

5. Sự khác biệt giữa SQL và MySQL là gì?

Câu trả lời :

SQL là ngôn ngữ lập trình được sử dụng trong RDBMS, trong khi MySQL là một ví dụ về RDBMS. MySQL là một trong những hệ thống cơ sở dữ liệu mã nguồn mở đầu tiên trên thị trường và nó vẫn còn khá phổ biến cho đến ngày nay. 

6. Làm thế nào để bạn tạo một bảng với SQL?

Câu trả lời mẫu :

Lệnh CREATE TABLE được sử dụng để tạo một bảng mới trong RDBMS. Lệnh này nhắc người dùng điền vào tên bảng, tên cột và kiểu dữ liệu. Lệnh tương tự cũng có thể được sử dụng để tạo bản sao của các bảng hiện có.

7. Bạn chèn ngày tháng bằng SQL như thế nào?

Câu trả lời :

Với SQL, kiểu dữ liệu DATE được sử dụng để lưu trữ dữ liệu hoặc giá trị thời gian trong cơ sở dữ liệu. Định dạng để chèn ngày có thể khác nhau tùy thuộc vào RDBMS, nhưng nói chung là 'YYYY-MM-DD'.

8. Truy vấn là gì?

Câu trả lời :

Truy vấn là một yêu cầu về dữ liệu hoặc thông tin từ cơ sở dữ liệu. Có hai loại truy vấn SQL chính:

  • Truy vấn chọn là truy vấn nhóm dữ liệu từ một bảng cho mục đích phân tích

  • Truy vấn hành động là một truy vấn thay đổi nội dung của cơ sở dữ liệu dựa trên các tiêu chí cụ thể

9. Truy vấn con là gì?

Câu trả lời :

Truy vấn con là một truy vấn được nhúng trong một câu lệnh khác yêu cầu nhiều bước. Truy vấn con cung cấp cho truy vấn kèm theo thông tin bổ sung cần thiết để thực thi một tác vụ, chẳng hạn như thời điểm hoàn thành một truy vấn trước hết phụ thuộc vào kết quả của một truy vấn khác.

10. Làm thế nào để bạn thực hiện một truy vấn chọn với SQL?

Câu trả lời :

Quá trình thực hiện một truy vấn chọn trong SQL như sau:

  • Câu lệnh SELECT được sử dụng để chỉ định các cột bạn muốn truy vấn

  • Câu lệnh FROM được sử dụng để chỉ định bảng cụ thể chứa dữ liệu

  • Câu lệnh WHERE được sử dụng để lọc dữ liệu dựa trên các điều kiện cụ thể

11. Các loại truy vấn hành động quan trọng nhất là gì?

Câu trả lời :

Có một số câu lệnh SQL để chạy một truy vấn hành động. Mục đích và thủ tục của họ khác nhau. Một số tuyên bố hành động quan trọng bao gồm:

  • UPDATE sửa đổi giá trị của các trường trong bảng

  • DELETE xóa bản ghi khỏi bảng

  • CREATE TABLE tạo một bảng mới

  • INSERT INTO thêm bản ghi vào bảng

12. Ràng buộc là gì?

Câu trả lời :

Ràng buộc SQL là một tập hợp các quy tắc hoặc điều kiện được thực hiện trên RDBMS để chỉ định dữ liệu nào có thể được chèn, cập nhật hoặc xóa trong các bảng của nó. Điều này được thực hiện để duy trì tính toàn vẹn của dữ liệu và đảm bảo rằng thông tin được lưu trữ trong các bảng cơ sở dữ liệu là chính xác.

13. Các mệnh đề nối là gì?

Câu trả lời :

Mệnh đề nối kết hợp các cột có giá trị liên quan từ hai bảng trở lên để tạo một bảng mới. Có bốn loại mệnh đề nối SQL chính:

  • JOIN trả về các bản ghi có giá trị phù hợp trong cả hai bảng

  • LEFT JOIN trả về tất cả các bản ghi từ bảng bên trái và khớp các bản ghi từ bảng bên phải

  • RIGHT JOIN trả về tất cả các bản ghi từ bảng bên phải và khớp các bản ghi từ bảng bên trái

  • FULL JOIN trả về tất cả các bản ghi từ cả hai bảng

14. Vai trò của chỉ mục là gì?

Câu trả lời :

Chỉ mục SQL lưu trữ các phần quan trọng của bảng cơ sở dữ liệu để cho phép tra cứu nhanh chóng và hiệu quả. Thay vì tìm kiếm toàn bộ cơ sở dữ liệu, người dùng chỉ phải tham khảo chỉ mục trong quá trình truy xuất dữ liệu. Do đó, chỉ mục giúp cải thiện hiệu suất trong RDBMS.

15. Giá trị NULL đại diện cho điều gì?

Câu trả lời :

Giá trị NULL cho biết dữ liệu không xác định. Điều này không giống như 0; Giá trị NULL có nghĩa là không có dữ liệu nào được lưu trữ.

16. Các loại lệnh SQL khác nhau là gì?

Câu trả lời :

Các lệnh SQL được sử dụng để thực hiện các tác vụ cụ thể trong cơ sở dữ liệu. Có năm loại chính:

  • Các lệnh của Ngôn ngữ Định nghĩa Dữ liệu (DDL) thay đổi cấu trúc của cơ sở dữ liệu

  • Các lệnh của ngôn ngữ thao tác dữ liệu (DML) sửa đổi dữ liệu trong bảng cơ sở dữ liệu

  • Các lệnh Ngôn ngữ điều khiển dữ liệu (DCL) quản lý quyền truy cập của người dùng vào cơ sở dữ liệu

  • Các lệnh Ngôn ngữ điều khiển giao dịch (TCL) quản lý các giao dịch được thực hiện bởi các lệnh DML

  • Các lệnh Ngôn ngữ Truy vấn Dữ liệu (DQL) truy xuất thông tin từ cơ sở dữ liệu

17. Bí danh là gì?

Câu trả lời :

Bí danh là tên tạm thời được đặt cho các bảng hoặc cột trong khoảng thời gian của một truy vấn SQL cụ thể. Mục đích của chúng là giảm số lượng mã cần thiết cho truy vấn đó, do đó tiết kiệm thời gian và công sức.

5.2. 17 câu hỏi phỏng vấn máy chủ SQL trung cấp

18. Sự khác biệt giữa chuẩn hóa và không chuẩn hóa là gì?

Câu trả lời :

Chuẩn hóa là quá trình chia dữ liệu thành các bảng để loại bỏ dữ liệu thừa và cải thiện tính toàn vẹn của dữ liệu. 

Chuẩn hóa được sử dụng để kết hợp nhiều bảng nhằm giảm thời gian cần thiết để thực hiện các truy vấn.

19. Làm thế nào để bạn tạo một chỉ mục với SQL?

Câu trả lời :

Cú pháp để tạo chỉ mục có thể khác nhau tùy thuộc vào RDBMS. Trong hầu hết các hệ thống, câu lệnh CREATE INDEX được sử dụng để bắt đầu quá trình. Sau đó, người dùng sẽ được nhắc đặt tên cho chỉ mục và chọn các cột sẽ tạo nên chỉ mục. 

20. Các ràng buộc SQL quan trọng nhất và chúng được sử dụng như thế nào?

Câu trả lời :

Dưới đây là một số ràng buộc SQL được sử dụng phổ biến nhất:

  • NOT NULL đảm bảo một cột không thể chứa giá trị NULL

  • UNIQUE đảm bảo tất cả các giá trị trong một cột là khác nhau

  • DEFAULT cung cấp giá trị mặc định cho một cột khi không có cột nào được chỉ định

  • INDEX tạo chỉ mục cho mục đích truy xuất dữ liệu

  • CHECK kiểm tra các giá trị trong một cột so với các điều kiện cụ thể nhất định

21. Sự khác biệt chính giữa các chỉ mục được phân cụm và không được phân cụm là gì?

Câu trả lời :

Sự khác biệt chính giữa các chỉ mục được phân nhóm và không được phân nhóm là:

  • Các chỉ mục được phân cụm xác định thứ tự vật lý trong đó các bảng được lưu trữ và sắp xếp chúng cho phù hợp, trong khi các chỉ mục không được phân cụm tạo ra một thứ tự logic không khớp với thứ tự vật lý của các hàng trên đĩa

  • Các chỉ mục được phân cụm sắp xếp các hàng dữ liệu dựa trên các giá trị chính của chúng, trong khi các chỉ mục không được phân cụm sử dụng cấu trúc tách biệt với các hàng dữ liệu

  • Chỉ có thể có một chỉ mục được phân nhóm trên mỗi bảng, trong khi có thể có nhiều chỉ mục không được phân nhóm trên mỗi bảng

22. Các loại truy vấn con khác nhau là gì?

Câu trả lời :

Có ba loại truy vấn con SQL chính. Đó là:

  • Truy vấn con một hàng , trả về một hàng trong kết quả

  • Truy vấn con nhiều hàng , trả về hai hoặc nhiều hàng trong kết quả

  • Các truy vấn con có liên quan, trả về kết quả theo các truy vấn bên ngoài

23. Con trỏ được sử dụng trong SQL như thế nào?

Câu trả lời :

Con trỏ cho phép người dùng xử lý dữ liệu từ một tập hợp kết quả, một hàng tại một thời điểm. 

Con trỏ là một sự thay thế cho các lệnh, hoạt động trên tất cả các hàng trong một tập hợp kết quả cùng một lúc. Không giống như các lệnh, con trỏ có thể được sử dụng để cập nhật dữ liệu trên cơ sở từng hàng một.

24. Các loại độ nhạy đối chiếu khác nhau là gì?

Câu trả lời :

Đối chiếu đề cập đến một tập hợp các quy tắc hoặc điều kiện ảnh hưởng đến cách dữ liệu được lưu trữ và sắp xếp. Có một số kiểu đối chiếu SQL, bao gồm:

  • Phân biệt chữ hoa chữ thường, phân biệt giữa ký tự viết hoa và viết thường

  • Độ nhạy trọng âm, phân biệt giữa các ký tự có dấu và không có dấu

  • Độ nhạy chiều rộng , phân biệt giữa các ký tự toàn chiều rộng và nửa chiều rộng

25. Làm thế nào để bạn chọn tất cả các số chẵn hoặc lẻ trong một bảng?

Câu trả lời :

Hàm MOD có thể được sử dụng trong hầu hết các RDBMS như một phần của câu lệnh WHERE trong truy vấn chọn để truy xuất các mục dữ liệu lẻ hoặc chẵn trong bảng. 

Định dạng như sau:

  • Đối với các số chẵn, hãy sử dụng 'MOD ( tên cột , 2) = 1'

  • Đối với các số lẻ, hãy sử dụng 'MOD ( tên cột , 2) = 0'

26. Làm thế nào để bạn đổi tên một cột trong SQL?

Câu trả lời :

Một cột có thể được đổi tên bằng cách làm theo các bước sau:

  • Sử dụng ' tên bảng ALTER TABLE ' để chọn bảng có cột bạn muốn đổi tên

  • Sử dụng 'RENAME COLUMN tên cũ thành tên mới ' để đổi tên cột

27. Sự khác biệt chính giữa các lệnh SQL DELETE và TRUNCATE là gì?

Câu trả lời :

Sự khác biệt chính giữa các lệnh DELETE và TRUNCATE là:

  • DELETE là lệnh DML, trong khi TRUNCATE là lệnh DDL

  • DELETE xóa các bản ghi và ghi lại mỗi lần xóa trong nhật ký giao dịch, trong khi TRUNCATE phân bổ các trang và ghi lại mỗi lần phân bổ trong nhật ký giao dịch

  • TRUNCATE thường được coi là nhanh hơn vì nó sử dụng ít nhật ký giao dịch hơn

28. Làm thế nào để bạn sao chép dữ liệu từ bảng này sang bảng khác?

Câu trả lời :

Dữ liệu từ một bảng có thể được sao chép sang một bảng khác bằng cách làm theo các bước sau:

  • Sử dụng câu lệnh INSERT INTO và chỉ định đích là bảng mới

  • Sử dụng câu lệnh SELECT để chỉ định các cột cần sao chép (chọn tất cả nếu bạn muốn sao chép bảng hoàn chỉnh)

  • Sử dụng câu lệnh WHERE để chỉ định bảng bạn muốn sao chép

29. Bạn sẽ viết truy vấn như thế nào để xác định nhân viên thuộc một bộ phận cụ thể?

Câu trả lời :

Việc tìm kiếm các mục nhập dữ liệu thuộc một nhóm cụ thể (trong trường hợp này là các nhân viên thuộc một bộ phận cụ thể) có thể đạt được theo một số cách. Bao gồm các:

  • Sử dụng các câu lệnh SELECT, FROM và WHERE

  • Sử dụng các câu lệnh SELECT, FROM, GROUP BY và HAVING

  • Sử dụng các câu lệnh SELECT, FROM, INNER JOIN và WHERE

30. Làm thế nào để bạn xóa một cột?

Câu trả lời :

Có thể xóa cột trong bảng bằng cách làm theo các bước sau:

  • Sử dụng ' tên bảng ALTER TABLE ' để chọn bảng có cột bạn muốn xóa

  • Sử dụng 'DROP COLUMN tên cột ' để chọn cột bạn muốn xóa

31. Bạn sẽ viết một truy vấn SQL như thế nào để tìm những người tham gia có tên bắt đầu bằng A?

Câu trả lời :

Bạn có thể truy xuất các mục dữ liệu bắt đầu bằng một chữ cái cụ thể bằng lệnh LIKE bằng cách làm theo các bước sau:

  • Sử dụng câu lệnh SELECT để chỉ định cột có tên bạn muốn kiểm tra

  • Sử dụng câu lệnh FROM để chỉ định bảng chứa cột đó

  • Sử dụng tên cột 'WHERE ' theo sau là 'LIKE x%', với x đại diện cho chữ cái bạn đang tìm kiếm

  • Sử dụng 'ĐẶT HÀNG theo tên cột ' để hoàn thành truy vấn

32. Một số hàm tổng hợp quan trọng nhất là gì?

Câu trả lời :

Các giá trị tổng hợp được sử dụng để thực hiện các phép tính trên một tập hợp các giá trị để trả về một giá trị duy nhất. Một số hàm tổng hợp được sử dụng rộng rãi nhất là:

  • AVG tính toán bộ giá trị trung bình

  • COUNT đếm tổng số hàng trong bảng

  • MIN tìm giá trị nhỏ nhất trong một bảng

  • MAX tìm giá trị lớn nhất trong bảng

  • SUM tính tổng các giá trị

33. Lược đồ có nghĩa là gì?

Câu trả lời :

Một lược đồ đề cập đến một tập hợp các đối tượng cơ sở dữ liệu — chẳng hạn như bảng, hàm, chỉ mục và thủ tục — được liên kết với cơ sở dữ liệu. 

Lược đồ giúp tách biệt các đối tượng cơ sở dữ liệu cho các ứng dụng và quyền truy cập khác nhau; nó thường được sử dụng để xác định ai có thể và ai không thể xem các đối tượng cụ thể trong cơ sở dữ liệu.

34. Một số hàm vô hướng quan trọng nhất là gì?

Câu trả lời :

Hàm vô hướng là các hàm do người dùng định nghĩa được áp dụng cho một tập dữ liệu để trả về một giá trị duy nhất. Một số hàm vô hướng phổ biến nhất bao gồm:

  • UCASE chuyển đổi giá trị thành chữ hoa

  • LCASE chuyển đổi giá trị thành chữ thường

  • MID trích xuất dữ liệu dạng văn bản dựa trên các tiêu chí cụ thể

  • ROUND làm tròn dữ liệu số thành một số thập phân được chỉ định

  • NOW trả về ngày và giờ hệ thống hiện tại

5.3. 16 câu hỏi phỏng vấn máy chủ SQL nâng cao

35. SQL injection là gì và làm thế nào chúng có thể được ngăn chặn?

Câu trả lời :

SQL injection là một kiểu tấn công mạng, trong đó tin tặc chèn mã SQL độc hại vào cơ sở dữ liệu để truy cập vào thông tin có giá trị hoặc nhạy cảm. Đó là một sự xuất hiện khá phổ biến với các ứng dụng web hoặc trang web sử dụng cơ sở dữ liệu dựa trên SQL.

Có thể ngăn chặn việc tiêm SQL bằng cách tạo nhiều tài khoản cơ sở dữ liệu để hạn chế quyền truy cập hoặc bằng cách sử dụng tường lửa ứng dụng web của bên thứ ba.

36. Làm thế nào để các truy vấn SQL có thể được tối ưu hóa?

Câu trả lời :

Có một số cách để tối ưu hóa các truy vấn và cải thiện hiệu suất. Ví dụ:

  • Chỉ định các cột cụ thể bằng SELECT thay vì bằng cách sử dụng SELECT * (chọn tất cả)

  • Thực hiện tham gia với INNER JOIN thay vì WHERE

  • Xác định bộ lọc bằng WHERE thay vì HAVING

  • Tránh lặp lại các câu lệnh trong cấu trúc truy vấn

  • Tránh các truy vấn con tương quan

37. Các kiểu chuẩn hóa khác nhau là gì?

Câu trả lời :

Quá trình chuẩn hóa SQL có thể được chia thành sáu bước hoặc kiểu. Bao gồm các:

  • Biểu mẫu chuẩn đầu tiên (1NF) để đảm bảo các hàng và cột luôn chứa các giá trị đơn lẻ, duy nhất

  • Dạng chuẩn thứ hai (2NF) để loại bỏ tất cả các phụ thuộc từng phần

  • Dạng chuẩn thứ ba (3NF) để loại bỏ tất cả các phụ thuộc hàm bắc cầu

  • Boyce-Codd Dạng chuẩn (BCNF) hoặc Dạng chuẩn thứ tư (4NF) để đảm bảo tất cả các phụ thuộc hàm là một siêu khóa cho bảng

  • Dạng chuẩn thứ năm (5NF) để đảm bảo việc phân hủy không dẫn đến mất mát dữ liệu

  • Dạng chuẩn thứ sáu (6NF) để phân tách các biến quan hệ thành các thành phần bất khả quy

38. Các thuộc tính ACID trong SQL là gì?

Câu trả lời :

ACID là từ viết tắt của Nguyên tử, Nhất quán, Cô lập và Độ bền. Đây là bốn thuộc tính chính để đảm bảo tính toàn vẹn của dữ liệu trong một giao dịch. 

Vai trò của mỗi thuộc tính như sau:

  • Tính nguyên tử: Các thay đổi đối với dữ liệu được thực hiện như một thao tác thống nhất, duy nhất

  • Nhất quán: Giá trị dữ liệu nhất quán khi bắt đầu và kết thúc giao dịch

  • Cô lập: Trạng thái trung gian của một giao dịch bị ẩn khỏi các giao dịch khác

  • Độ bền: Các thay đổi đối với dữ liệu vẫn giữ nguyên sau khi giao dịch hoàn tất

39. Các loại thủ tục lưu trữ ?

Câu trả lời :

Các thủ tục được lưu trữ là các đoạn mã SQL có thể được lưu và sử dụng lại. Các loại thủ tục được lưu trữ chính là:

  • Các thủ tục được lưu trữ do người dùng xác định , do người dùng tạo

  • Các thủ tục được lưu trữ trong hệ thống là các thủ tục mặc định được đặt vĩnh viễn trên hệ thống

  • Các thủ tục được lưu trữ tạm thời là các thủ tục bị loại bỏ khi phiên đóng cửa

  • Các thủ tục được lưu trữ từ xa , được tạo và lưu trữ trên các máy chủ từ xa

40. Bạn sẽ viết truy vấn như thế nào để tìm những nhân viên có cùng mức lương từ một bảng nhân viên?

Câu trả lời :

Để tìm nhân viên có cùng mức lương, có thể sử dụng giải pháp sau:

  • Sử dụng câu lệnh SELECT để chỉ định bảng có liên quan

  • Sử dụng câu lệnh FROM để chỉ định cột nhân viên

  • Sử dụng câu lệnh WHERE để chỉ định tiêu chí lương, ví dụ:

‘WHERE salary IN

(SELECT salary

FROM employee 

WHERE employee.employee_id <> employee.employee_id)’

41. Làm thế nào để bạn loại bỏ các hàng trùng lặp khỏi một bảng?

Câu trả lời mẫu :

Có một số cách để xóa các hàng trùng lặp khỏi bảng. Bao gồm các:

  • Sử dụng Biểu thức Bảng Chung (CTE) với hàm ROW_NUMBER để xác định và xóa các hàng trùng lặp

  • Sử dụng hàm RANK với mệnh đề PARTITION BY

  • Sử dụng mệnh đề GROUP BY với hàm COUNT, sau đó thay thế SELECT bằng DELETE FROM

42. Làm thế nào để bạn tạo một trình kích hoạt với SQL?

Câu trả lời :

Trình kích hoạt là một loại thủ tục được lưu trữ chạy khi một sự kiện cụ thể xảy ra, chẳng hạn như khi một bản ghi mới được thêm vào cơ sở dữ liệu. 

Việc tạo kích hoạt khác nhau tùy thuộc vào RDBMS. Một số hệ thống có câu lệnh CREATE TRIGGER, trong khi những hệ thống khác yêu cầu người dùng điều hướng đến thư mục trình kích hoạt trong thanh công cụ. Sau khi được tạo, người dùng phải viết mã của trình kích hoạt, chỉ định các điều kiện và tác dụng của nó.

43. Sự khác biệt chính giữa mệnh đề SQL HAVING và WHERE là gì?

Câu trả lời mẫu :

Sự khác biệt chính giữa mệnh đề SQL HAVING và WHERE là:

  • Mệnh đề WHERE được sử dụng trong các hoạt động hàng, trong khi mệnh đề HAVING được sử dụng trong các hoạt động cột

  • Mệnh đề WHERE đứng trước GROUP BY trong một truy vấn, trong khi mệnh đề HAVING đứng sau GROUP BY

  • Mệnh đề WHERE không thể được sử dụng với các hàm tổng hợp, trái với mệnh đề HAVING

44. Làm thế nào để thông tin nhạy cảm có thể được lưu trữ an toàn trong cơ sở dữ liệu?

Câu trả lời :

Mã hóa cơ sở dữ liệu với thông tin nhạy cảm là rất quan trọng vì lý do bảo mật. Mã hóa có thể được thực hiện theo một số cách. Ví dụ, bạn có thể:

  • Tạo khóa chính

  • Sử dụng mã hóa đối xứng

  • Tạo chứng chỉ được bảo vệ bởi khóa chính

45. Bạn sẽ viết truy vấn như thế nào để tìm nhân viên có thu nhập cao thứ sáu từ bảng nhân viên?

Câu trả lời :

Một truy vấn con tương quan có thể được sử dụng để tìm nhân viên có thu nhập cao thứ sáu trong bảng. Các bước thực hiện như sau:

  • Sử dụng câu lệnh SELECT để chỉ định tên nhân viên và các cột lương

  • Sử dụng câu lệnh FROM để chỉ định bảng có liên quan

  • Sử dụng câu lệnh WHERE để chỉ định tiêu chí lương, ví dụ:

‘WHERE statement 6-1 = (SELECT COUNT(DISTINCT salary) FROM #Employee e2

 WHERE e2.salary > e1.salary)’

46. ​​Hãy nêu một số cách để ngăn chặn các mục nhập trùng lặp khi thực hiện một truy vấn?

Câu trả lời :

Có một số phương pháp để tránh các mục nhập trùng lặp khi thực hiện truy vấn, chẳng hạn như:

  • Tạo một chỉ mục duy nhất

  • Thêm từ khóa DISTINCT vào câu lệnh SELECT

  • Sử dụng lệnh NOT EXISTS hoặc NOT IN

47. Sự khác biệt chính giữa con trỏ ẩn và con trỏ tường minh là gì?

Câu trả lời :

Sự khác biệt chính giữa con trỏ ẩn và con trỏ rõ ràng là:

  • Con trỏ ngầm được tạo tự động khi các câu lệnh chọn được thực thi, trong khi con trỏ rõ ràng cần được xác định rõ ràng bởi người dùng

  • Con trỏ ngầm chỉ có thể truy xuất dữ liệu từ một hàng tại một thời điểm, trong khi con trỏ rõ ràng có thể truy xuất dữ liệu từ nhiều hàng

  • Con trỏ ngầm kém hiệu quả hơn và dễ xảy ra lỗi hơn so với con trỏ rõ ràng

48. Sự khác biệt chính giữa OLTP và OLAP là gì?

Câu trả lời :

Xử lý Giao dịch Trực tuyến (OLTP) và Xử lý Phân tích Trực tuyến (OLAP) là hai hệ thống xử lý dữ liệu khác nhau trong lĩnh vực khoa học dữ liệu. 

Hệ thống OLTP nắm bắt, lưu trữ và cập nhật dữ liệu thường xuyên, trong khi hệ thống OLAP được sử dụng để truy vấn và thực hiện phân tích trên dữ liệu đó.

49. SQL động nghĩa là gì?

Câu trả lời :

SQL động là một kỹ thuật lập trình được sử dụng để xây dựng các câu lệnh SQL trong thời gian chạy, thay vì thời gian biên dịch. SQL động thách thức hơn và kém hiệu quả hơn SQL tĩnh, nhưng nó cho phép các nhà phát triển tạo ra các ứng dụng có mục đích chung, linh hoạt hơn.

50. Các kiểu quan hệ khác nhau trong SQL là gì?

Câu trả lời :

Ba loại mối quan hệ có thể tồn tại giữa một cặp bảng cơ sở dữ liệu. Đó là:

  • Một đối một , trong đó mỗi bản ghi trong bảng có thể liên quan đến một bản ghi trong bảng được ghép nối

  • Một-nhiều , trong đó mỗi bản ghi trong bảng có thể liên quan đến một hoặc nhiều bản ghi trong bảng được ghép nối

  • Nhiều-nhiều , trong đó mỗi bản ghi trong cả hai bảng có thể liên quan đến một hoặc nhiều bản ghi trong bảng được ghép nối

Xin chào các bạn! Trong bài đăng này, chúng ta sẽ thấy một số truy vấn SQL phổ biến nhất được hỏi trong các cuộc phỏng vấn. Cho dù bạn là DBA, nhà phát triển, người thử nghiệm hoặc nhà phân tích dữ liệu, các câu hỏi và câu trả lời phỏng vấn truy vấn SQL này sẽ giúp bạn.SQL query interview questions and answers are going to help you.

Trên thực tế, tôi đã được hỏi hầu hết các câu hỏi này trong các cuộc phỏng vấn trong các giai đoạn khác nhau trong sự nghiệp của tôi.

Nếu bạn muốn bỏ qua các câu hỏi cơ bản và bắt đầu với một số truy vấn SQL khó thì bạn có thể trực tiếp chuyển sang các câu hỏi phỏng vấn truy vấn SQL của chúng tôi cho phần có kinh nghiệm. & NBSP;

Hãy xem xét hai bảng dưới đây để tham khảo trong khi cố gắng giải các truy vấn SQL để thực hành.SQL queries for practice.

Bảng - sử dụng lao động

EmpidHọ và tênNgười quản lýNgày tham giaThành phố
121 John Snow321 01/1/2019Toronto
321 Walter White986 30/01/2020California
421 Kuldeep Rana876 27/11/2021Delhi mới


Bảng - Nhân viên

EmpidHọ và tênNgười quản lýNgày tham gia
121 Thành phố8000 500
321 John Snow10000 1000
421 Thành phố12000 0


John Snow

  1. 01/1/2019
  2. Toronto
  3. Walter White
  4. 30/01/2020
  5. California
  6. Kuldeep Rana
  7. 27/11/2021
  8. Delhi mới
  9. Bảng - Nhân viên
  10. Dự án

Lương

  • Biến đổi
  • P1

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

P2

Để thuận tiện cho bạn, tôi đã biên soạn 10 câu hỏi hàng đầu cho bạn. Bạn có thể thử giải quyết các câu hỏi này và nhấp vào các liên kết để đi đến câu trả lời tương ứng của họ.
Ans. We can use the EmployeeDetails table to fetch the employee details with a where clause for the manager-

SELECT  EmpId, FullName
FROM EmployeeDetails
WHERE ManagerId = 986;

Truy vấn SQL để tìm nạp các bản ghi có trong một bảng nhưng không phải trong một bảng khác.
Ans. While referring to the EmployeeSalary table, we can see that this table contains project values corresponding to each employee, or we can say that we will have duplicate project values while selecting Project values from this table.

SQL truy vấn để tìm nạp tất cả các nhân viên không làm việc trong bất kỳ dự án nào.

SELECT DISTINCT(Project)
FROM EmployeeSalary;

SQL truy vấn để tìm kiếm tất cả các nhân viên từ các công ty sử dụng đã tham gia vào năm 2020.
Ans. Here, we would be using aggregate function count() with the SQL where clause-

SELECT COUNT(*) 
FROM EmployeeSalary 
WHERE Project = 'P1';

Tìm nạp tất cả nhân viên từ các công ty sử dụng có hồ sơ lương trong nhân viên.
Ans. We can use the aggregate function of SQL to fetch the max, min, and average values-

SELECT Max(Salary), 
Min(Salary), 
AVG(Salary) 
FROM EmployeeSalary;

Viết một truy vấn SQL để lấy số lượng nhân viên của dự án.
Ans. Here, we can use the ‘Between’ operator with a where clause.

SELECT EmpId, Salary
FROM EmployeeSalary
WHERE Salary BETWEEN 9000 AND 15000;

Tìm nạp tên nhân viên và tiền lương ngay cả khi giá trị tiền lương không có mặt cho nhân viên.
Ans. Since we have to satisfy both the conditions – employees living in ‘Toronto’ and working in Project ‘P2’. So, we will use AND operator here-

SELECT EmpId, City, ManagerId
FROM EmployeeDetails
WHERE City='Toronto' AND ManagerId='321';

Viết một truy vấn SQL để tìm nạp tất cả các nhân viên cũng là người quản lý.Write an SQL query to fetch all the employees who either live in California or work under a manager with ManagerId – 321.
Ans. This interview question requires us to satisfy either of the conditions – employees living in ‘California’ and working under Manager with ManagerId – 321. So, we will use the OR operator here-

SELECT EmpId, City, ManagerId
FROM EmployeeDetails
WHERE City='California' OR ManagerId='321';

Viết một truy vấn SQL để tìm nạp các bản ghi trùng lặp từ các công ty sử dụng.
Ans. Here, we can use the NOT operator to fetch the rows which are not satisfying the given condition.

SELECT EmpId
FROM EmployeeSalary
WHERE NOT Project='P1';


Viết một truy vấn SQL để chỉ tìm nạp các hàng lẻ từ bảng.

SELECT EmpId
FROM EmployeeSalary
WHERE Project <> 'P1';

Viết một truy vấn để tìm mức lương cao thứ 3 từ một bảng không có từ khóa trên cùng hoặc giới hạn.

Hoặc, bạn cũng có thể nhảy vào hai phần dưới đây của chúng tôi về các câu hỏi phỏng vấn cho các sinh viên mới và các chuyên gia có kinh nghiệm.
Ans. Here, we can simply use the ‘+’ operator in SQL.

SELECT EmpId,
Salary+Variable as TotalSalary 
FROM EmployeeSalary;

Ques.10. Viết một truy vấn SQL để tìm nạp các nhân viên có tên bắt đầu bằng bất kỳ hai ký tự nào, theo sau là một văn bản là HN HN và kết thúc với bất kỳ chuỗi nhân vật nào. Đối với câu hỏi này, chúng ta có thể tạo một truy vấn SQL bằng cách sử dụng toán tử giống như ‘_ _ và‘%ký tự thẻ hoang dã, trong đó ‘_, khớp với một ký tự duy nhất và‘%, khớp với 0 hoặc nhiều ký tự.
Ans. For this question, we can create an SQL query using like operator with ‘_’ and ‘%’ wild card characters, where ‘_’ matches a single character and ‘%’ matches ‘0 or multiple characters.

SELECT DISTINCT(Project)
FROM EmployeeSalary;
0

Ques.11. Viết một truy vấn SQL để tìm nạp tất cả các Empids có mặt trong một trong các bảng - ‘’ sployeedetails và ‘nhân viên. Để có được ID nhân viên độc đáo từ cả hai bảng, chúng ta có thể sử dụng mệnh đề Union có thể kết hợp kết quả của hai truy vấn SQL và trả về các hàng duy nhất.
Ans. In order to get unique employee ids from both tables, we can use the Union clause which can combine the results of the two SQL queries and return unique rows.

SELECT DISTINCT(Project)
FROM EmployeeSalary;
1

Ques.12. Viết một truy vấn SQL để tìm nạp các bản ghi chung giữa hai bảng.ans. SQL Server- Sử dụng toán tử Intersect-Write an SQL query to fetch common records between two tables.
Ans. SQL Server – Using INTERSECT operator-

SELECT DISTINCT(Project)
FROM EmployeeSalary;
2


MySQL- Vì MySQL không có toán tử giao nhau để chúng ta có thể sử dụng trình điều khiển con-

SELECT DISTINCT(Project)
FROM EmployeeSalary;
3

Ques.13. Viết một truy vấn SQL để tìm nạp các bản ghi có trong một bảng nhưng không phải trong một bảng khác. SQL Server- Sử dụng trừ- Toán tử-Write an SQL query to fetch records that are present in one table but not in another table.
Ans. SQL Server – Using MINUS- operator-

SELECT DISTINCT(Project)
FROM EmployeeSalary;
4


Mysql- vì mysql không có toán tử trừ nên chúng tôi có thể sử dụng tham gia bên trái-

SELECT DISTINCT(Project)
FROM EmployeeSalary;
5

Ques.14. Viết một truy vấn SQL để tìm nạp các Empids có mặt trong cả hai bảng - & NBSP; ’Sployeedetails, và‘ nhân viên .ans. Sử dụng phụ-
Ans. Using subquery-

SELECT DISTINCT(Project)
FROM EmployeeSalary;
6

Ques.15. Viết một truy vấn SQL để tìm nạp các Empids có mặt trong các công ty sử dụng nhưng không phải trong nhân viên. Sử dụng phụ-
Ans. Using subquery-

SELECT DISTINCT(Project)
FROM EmployeeSalary;
7

Ques.16. Viết một truy vấn SQL để lấy tên đầy đủ của nhân viên và thay thế không gian bằng ‘-Hồi. Ans. Sử dụng chức năng thay thế ’
Ans. Using the ‘Replace’ function-

SELECT DISTINCT(Project)
FROM EmployeeSalary;
8

Ques.17. Viết một truy vấn SQL để tìm nạp vị trí của (các) ký tự nhất định trong một trường.ans. Sử dụng chức năng ’uster it
Ans. Using the ‘Instr’ function-

SELECT DISTINCT(Project)
FROM EmployeeSalary;
9

Ques.18. Viết một truy vấn SQL để hiển thị cả Empid và ManagerID cùng nhau.ans. Ở đây chúng ta có thể sử dụng lệnh Concat.
Ans. Here we can use the CONCAT command.

SELECT COUNT(*) 
FROM EmployeeSalary 
WHERE Project = 'P1';
0

Ques.19. Viết một truy vấn để chỉ tìm nạp tên đầu tiên (chuỗi trước không gian) từ cột FullName của Bảng sử dụng. Trong câu hỏi này, trước tiên chúng tôi được yêu cầu tìm nạp vị trí của ký tự không gian trong trường FullName và sau đó trích xuất tên đầu tiên ra khỏi trường FullName.
Ans. In this question, we are required to first fetch the location of the space character in the FullName field and then extract the first name out of the FullName field.

Để tìm vị trí, chúng tôi sẽ sử dụng phương thức định vị trong MySQL và Charindex trong SQL Server và để tìm nạp chuỗi trước không gian, chúng tôi sẽ sử dụng phương thức phụ hoặc MID.

Mysql - sử dụng giữa

SELECT COUNT(*) 
FROM EmployeeSalary 
WHERE Project = 'P1';
1


SQL Server - Sử dụng Substring

SELECT COUNT(*) 
FROM EmployeeSalary 
WHERE Project = 'P1';
2

Ques.20. Viết một truy vấn SQL để viết hoa tên của nhân viên và viết thường các giá trị thành phố. Chúng ta có thể sử dụng các hàm trên và dưới SQL để đạt được kết quả dự định.
Ans. We can use SQL Upper and Lower functions to achieve the intended results.

SELECT COUNT(*) 
FROM EmployeeSalary 
WHERE Project = 'P1';
3

Ques.21. Viết một truy vấn SQL để tìm số lượng của tổng số lần xuất hiện của một ký tự cụ thể - ’n, trong trường fullname.ans. Ở đây, chúng ta có thể sử dụng hàm ‘chiều dài. Chúng ta có thể trừ tổng chiều dài của trường FullName từ độ dài của tên fullns sau khi thay thế ký tự - ’n.
Ans. Here, we can use the ‘Length’ function. We can subtract the total length of the FullName field from the length of the FullName after replacing the character – ‘n’.

SELECT COUNT(*) 
FROM EmployeeSalary 
WHERE Project = 'P1';
4

Ques.22. Viết một truy vấn SQL để cập nhật tên nhân viên bằng cách xóa các không gian dẫn đầu và dấu vết.ans. Sử dụng lệnh ‘Cập nhật, với các chức năng‘ LTRIM và ‘RTRIM.
Ans. Using the ‘Update’ command with the ‘LTRIM’ and ‘RTRIM’ functions.

SELECT COUNT(*) 
FROM EmployeeSalary 
WHERE Project = 'P1';
5

Ques.23. Tìm nạp tất cả các nhân viên không làm việc trên bất kỳ dự án nào. Đây là một trong những câu hỏi phỏng vấn rất cơ bản trong đó người phỏng vấn muốn xem liệu người đó có biết về người thường được sử dụng không - là người vận hành null.
Ans. This is one of the very basic interview questions in which the interviewer wants to see if the person knows about the commonly used – Is NULL operator.

SELECT COUNT(*) 
FROM EmployeeSalary 
WHERE Project = 'P1';
6

Ques.24. Viết một truy vấn SQL để lấy tên nhân viên có mức lương lớn hơn hoặc bằng 5000 và nhỏ hơn hoặc bằng 10000.ans. Ở đây, chúng tôi sẽ sử dụng giữa trong mệnh đề ‘WHERE để trả lại Empid của nhân viên với mức lương đáp ứng các tiêu chí cần thiết và sau đó sử dụng nó như một công cụ phụ để tìm tên nhân viên từ bảng sử dụng lao động.
Ans. Here, we will use BETWEEN in the ‘where’ clause to return the EmpId of the employees with salary satisfying the required criteria and then use it as a subquery to find the fullName of the employee from the EmployeeDetails table.

SELECT COUNT(*) 
FROM EmployeeSalary 
WHERE Project = 'P1';
7

Ques.25. Viết một truy vấn SQL để tìm ngày hiện tại. Mysql-
Ans. MySQL-


SQL Server-


Oracle-

SELECT COUNT(*) 
FROM EmployeeSalary 
WHERE Project = 'P1';
8

Ques.26. Viết một truy vấn SQL để tìm nạp tất cả các chi tiết nhân viên từ bảng sử dụng lao động đã tham gia vào năm 2020.ans. Sử dụng giữa cho phạm vi ngày details from the EmployeeDetails table who joined in the Year 2020.
Ans. Using BETWEEN for the date range ’01-01-2020′ AND ’31-12-2020′-

SELECT COUNT(*) 
FROM EmployeeSalary 
WHERE Project = 'P1';
9


Ngoài ra, chúng tôi có thể trích xuất phần năm từ ngày tham gia (sử dụng năm trong MySQL)-

SELECT Max(Salary), 
Min(Salary), 
AVG(Salary) 
FROM EmployeeSalary;
0

Ques.27. Viết một truy vấn SQL để tìm nạp tất cả các hồ sơ nhân viên từ bảng sử dụng lao động có hồ sơ lương trong bảng nhân viên. Sử dụng ‘tồn tại’
Ans. Using ‘Exists’-

SELECT Max(Salary), 
Min(Salary), 
AVG(Salary) 
FROM EmployeeSalary;
1

Ques.28. Viết một truy vấn SQL để lấy số lượng nhân viên khôn ngoan của dự án được sắp xếp theo số lượng dự án theo thứ tự giảm dần. Truy vấn có hai yêu cầu-trước tiên để tìm kiếm số lượng dự án và sau đó để sắp xếp kết quả theo số lượng đó.
Ans. The query has two requirements – first to fetch the project-wise count and then to sort the result by that count.

Đối với số lượng dự án khôn ngoan, chúng tôi sẽ sử dụng nhóm theo mệnh đề và để sắp xếp, chúng tôi sẽ sử dụng mệnh đề theo thứ tự theo bí danh của số lượng dự án.

SELECT Max(Salary), 
Min(Salary), 
AVG(Salary) 
FROM EmployeeSalary;
2

Ques.29. Viết một truy vấn để lấy tên nhân viên và hồ sơ lương. Hiển thị các chi tiết nhân viên ngay cả khi hồ sơ tiền lương không có mặt cho nhân viên.ans. Đây một lần nữa là một trong những câu hỏi phỏng vấn rất phổ biến trong đó người phỏng vấn chỉ muốn kiểm tra kiến ​​thức cơ bản về các tham gia SQL.
Ans. This is again one of the very common interview questions in which the interviewer just wants to check the basic knowledge of SQL JOINS.

Tại đây, chúng ta có thể sử dụng tham gia bên trái với bảng sử dụng lao động ở phía bên trái của bảng nhân viên.

SELECT Max(Salary), 
Min(Salary), 
AVG(Salary) 
FROM EmployeeSalary;
3

Ques.30. Viết một truy vấn SQL để tham gia 3 bảng.ans. Xem xét 3 bảng Tablea, Tableb và Tablec, chúng ta có thể sử dụng 2 điều khoản tham gia như bên dưới-
Ans. Considering 3 tables TableA, TableB, and TableC, we can use 2 joins clauses like below-

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

SELECT Max(Salary), 
Min(Salary), 
AVG(Salary) 
FROM EmployeeSalary;
4

Để biết thêm câu hỏi về các tham gia SQL, bạn cũng có thể kiểm tra các câu hỏi phỏng vấn của SQL hàng đầu của chúng tôi.SQL Joins Interview Questions.

Câu hỏi phỏng vấn truy vấn SQL cho kinh nghiệm

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

Dưới đây là danh sách một số câu hỏi phỏng vấn truy vấn SQL thường gặp nhất cho các chuyên gia có kinh nghiệm. Những câu hỏi này bao gồm các truy vấn SQL về các khái niệm tham gia SQL nâng cao, tìm nạp các hàng trùng lặp, các hàng lẻ và thậm chí là hàng, mức lương cao thứ n, v.v.

Ques. 31. Viết một truy vấn SQL để tìm nạp tất cả các nhân viên cũng là người quản lý từ bảng sử dụng. Ở đây, chúng tôi phải sử dụng tự tham gia vì yêu cầu muốn chúng tôi phân tích bảng sử dụng lao động làm hai bảng. Chúng tôi sẽ sử dụng các bí danh khác nhau ‘E, và‘ M, cho cùng một bảng sử dụng lao động.
Ans. Here, we have to use Self-Join as the requirement wants us to analyze the EmployeeDetails table as two tables. We will use different aliases ‘E’ and ‘M’ for the same EmployeeDetails table.

SELECT Max(Salary), 
Min(Salary), 
AVG(Salary) 
FROM EmployeeSalary;
5


Để tìm hiểu thêm về Tự tham gia cùng với một số truy vấn khác, bạn có thể xem video dưới đây giải thích khái niệm tự tham gia theo một cách rất đơn giản.

Tự tham gia và cuộc biểu tình của nó

Ques.32. Viết một truy vấn SQL để tìm nạp các bản ghi trùng lặp từ các bản tin (mà không xem xét khóa chính - empid) .ans. Để tìm các bản ghi trùng lặp từ bảng, chúng ta có thể sử dụng nhóm trên tất cả các trường và sau đó sử dụng mệnh đề có để chỉ trả về các trường có số lượng lớn hơn 1 tức là các hàng có bản ghi trùng lặp.
Ans. In order to find duplicate records from the table, we can use GROUP BY on all the fields and then use the HAVING clause to return only those fields whose count is greater than 1 i.e. the rows having duplicate records.

SELECT Max(Salary), 
Min(Salary), 
AVG(Salary) 
FROM EmployeeSalary;
6

Ques.33. Viết truy vấn SQL để xóa các bản sao khỏi bảng mà không cần sử dụng bảng tạm thời. Ở đây, chúng ta có thể sử dụng xóa với bí danh và tham gia bên trong. Chúng tôi sẽ kiểm tra sự bình đẳng của tất cả các bản ghi phù hợp và sau đó loại bỏ hàng với một empid cao hơn.
Ans. Here, we can use delete with alias and inner join. We will check for the equality of all the matching records and then remove the row with a higher EmpId.

SELECT Max(Salary), 
Min(Salary), 
AVG(Salary) 
FROM EmployeeSalary;
7

Ques.34. Viết một truy vấn SQL để chỉ tìm nạp các hàng lẻ từ bảng.ans. Trong trường hợp chúng tôi có một trường tự động, ví dụ: Empid sau đó chúng ta chỉ có thể sử dụng truy vấn dưới đây-
Ans. In case we have an auto-increment field e.g. EmpId then we can simply use the below query-

SELECT Max(Salary), 
Min(Salary), 
AVG(Salary) 
FROM EmployeeSalary;
8

Trong trường hợp chúng tôi không có trường như vậy thì chúng tôi có thể sử dụng các truy vấn dưới đây.

Sử dụng Row_Number trong SQL Server và kiểm tra xem phần còn lại khi chia cho 2 là 1-

SELECT Max(Salary), 
Min(Salary), 
AVG(Salary) 
FROM EmployeeSalary;
9


Sử dụng biến do người dùng xác định trong mysql-

SELECT EmpId, Salary
FROM EmployeeSalary
WHERE Salary BETWEEN 9000 AND 15000;
0

Ques.35. Viết một truy vấn SQL để chỉ tìm nạp thậm chí các hàng từ bảng.ans. Trong trường hợp chúng tôi có một trường tự động, ví dụ: Empid sau đó chúng ta chỉ có thể sử dụng truy vấn dưới đây-
Ans. In case we have an auto-increment field e.g. EmpId then we can simply use the below query-

SELECT EmpId, Salary
FROM EmployeeSalary
WHERE Salary BETWEEN 9000 AND 15000;
1

Trong trường hợp chúng tôi không có trường như vậy thì chúng tôi có thể sử dụng các truy vấn dưới đây.

Sử dụng Row_Number trong SQL Server và kiểm tra xem phần còn lại khi chia cho 2 là 1-

SELECT EmpId, Salary
FROM EmployeeSalary
WHERE Salary BETWEEN 9000 AND 15000;
2


Sử dụng biến do người dùng xác định trong mysql-

SELECT EmpId, Salary
FROM EmployeeSalary
WHERE Salary BETWEEN 9000 AND 15000;
3

Ques.35. Viết một truy vấn SQL để chỉ tìm nạp thậm chí các hàng từ bảng.ans. Trong trường hợp chúng tôi có một trường tự động, ví dụ: Empid sau đó chúng ta chỉ có thể sử dụng truy vấn dưới đây-
Ans.

SELECT EmpId, Salary
FROM EmployeeSalary
WHERE Salary BETWEEN 9000 AND 15000;
4

Sử dụng Row_Number trong SQL Server và kiểm tra xem phần còn lại, khi chia cho 2, là 1-
Ans. Here, we can use the same query as above with the False ‘WHERE’ condition-

SELECT EmpId, Salary
FROM EmployeeSalary
WHERE Salary BETWEEN 9000 AND 15000;
5

Ques.36. Viết một truy vấn SQL để tạo một bảng mới với dữ liệu và cấu trúc được sao chép từ một bảng khác.
Ans. In MySQL using LIMIT-

SELECT EmpId, Salary
FROM EmployeeSalary
WHERE Salary BETWEEN 9000 AND 15000;
6


Ques.37. Viết một truy vấn SQL để tạo một bảng trống có cùng cấu trúc với một số bảng khác. Ở đây, chúng ta có thể sử dụng cùng một truy vấn như trên với điều kiện sai ở đâu-

SELECT EmpId, Salary
FROM EmployeeSalary
WHERE Salary BETWEEN 9000 AND 15000;
7

Ques.38. Viết một truy vấn SQL để tìm nạp các bản ghi N.ans hàng đầu. Trong mysql bằng cách sử dụng giới hạn-
Ans. Using Top keyword (SQL Server)-

SELECT EmpId, Salary
FROM EmployeeSalary
WHERE Salary BETWEEN 9000 AND 15000;
8


Trong SQL Server bằng lệnh hàng đầu-

Ques.39. Viết một truy vấn SQL để tìm mức lương cao thứ n từ bảng.ans. Sử dụng từ khóa hàng đầu (SQL Server)-

Sử dụng mệnh đề giới hạn (MySQL)-
Ans. This is one of the most commonly asked interview questions. For this, we will use a correlated subquery.

SELECT EmpId, Salary
FROM EmployeeSalary
WHERE Salary BETWEEN 9000 AND 15000;
9

SELECT EmpId, City, ManagerId
FROM EmployeeDetails
WHERE City='Toronto' AND ManagerId='321';
0


Ques.40. Viết truy vấn SQL để tìm mức lương cao thứ 3 từ bảng mà không sử dụng từ khóa hàng đầu/giới hạn.ans. Đây là một trong những câu hỏi phỏng vấn được hỏi phổ biến nhất. Đối với điều này, chúng tôi sẽ sử dụng một truy vấn con tương quan.

Để tìm mức lương cao thứ 3, chúng tôi sẽ tìm thấy giá trị tiền lương cho đến khi truy vấn bên trong trả về số lượng 2 hàng có mức lương lớn hơn mức lương khác biệt khác.

Cho mức lương cao thứ n-SQL query interview questions and answers. I hope you practice these questions and ace your database interviews.

SELECT EmpId, City, ManagerId
FROM EmployeeDetails
WHERE City='Toronto' AND ManagerId='321';
1interview questions on SQL then do let us know in the comments and we will add those questions to our list.

Điều này kết thúc bài viết của chúng tôi về các câu hỏi và câu trả lời phỏng vấn truy vấn SQL thường gặp. Tôi hy vọng bạn thực hành những câu hỏi này và các cuộc phỏng vấn cơ sở dữ liệu của bạn.RDBM Interview Questions, focussing on the theoretical interview questions based on the DBMS and SQL concepts.

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

Nếu bạn cảm thấy, chúng tôi đã bỏ lỡ bất kỳ câu hỏi phỏng vấn phổ biến nào trên SQL thì hãy cho chúng tôi biết trong các ý kiến ​​và chúng tôi sẽ thêm những câu hỏi đó vào danh sách của chúng tôi.

Câu hỏi phỏng vấn SQL tốt là gì?

Câu hỏi phỏng vấn SQL cho các chuyên gia có kinh nghiệm..
Q1. Bình thường hóa là gì? Các bình thường hóa khác nhau là gì?.
Q2. Khử biến là gì?.
Q3. Đối chiếu là gì? Các loại nhạy cảm đối chiếu khác nhau là gì ?.
Q4. Bạn hiểu gì về các tuyên bố trường hợp?.
Q5. Một số lệnh SQL phổ biến là gì ?.

Làm cách nào để nhận được 50 bản ghi đầu tiên trong SQL Server?

Làm cách nào để hiển thị 50 bản ghi đầu tiên trong SQL ?..
SQL Server / MS Access Cú pháp: chọn Số hàng đầu | phần trăm cột_name (s) từ TABEPHER_NAME ..
Cú pháp MySQL: Chọn Cột_Name (S) từ Table_Name ..
Oracle 12 Cú pháp: Chọn cột_name (S).
Cú pháp oracle cũ hơn: Chọn cột_name (S).
Cú pháp Oracle cũ hơn (có thứ tự bởi): Chọn *.

5 lệnh SQL cơ bản là gì?

Một số lệnh SQL quan trọng nhất..
Chọn - Trích xuất dữ liệu từ cơ sở dữ liệu ..
Cập nhật - Cập nhật dữ liệu trong cơ sở dữ liệu ..
Xóa - Xóa dữ liệu khỏi cơ sở dữ liệu ..
Chèn vào - Chèn dữ liệu mới vào cơ sở dữ liệu ..
Tạo cơ sở dữ liệu - Tạo cơ sở dữ liệu mới ..
Thay đổi cơ sở dữ liệu - sửa đổi cơ sở dữ liệu ..
Tạo bảng - Tạo một bảng mới ..

Tôi có thể học SQL trong 7 ngày không?

Phải mất một người học trung bình khoảng hai đến ba tuần để làm chủ các khái niệm cơ bản về SQL và bắt đầu làm việc với cơ sở dữ liệu SQL.Nhưng để bắt đầu sử dụng chúng một cách hiệu quả trong các kịch bản trong thế giới thực, bạn sẽ cần phải trở nên khá trôi chảy;Và điều đó cần có thời gian.. But in order to start using them effectively in real-world scenarios, you'll need to become quite fluent; and that takes time.