SQL là gì? 50+ Các câu hỏi thường gặp về SQL
Mục lục
SQL là gì? 50+ Các câu hỏi thường gặp về SQL
Ngày đăng: 05/08/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ó
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…
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.
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à :
-
Query Dispatcher
-
Optimization Engines
-
Classic Query Engine
-
SQL Query Engine, etc.
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:
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à:
-
Cơ sở dữ liệu Oracle
-
MySQL
-
Microsoft SQL Server
-
PostgreSQL
-
DB2 của IBM
-
SQLite
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