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

Bài viết này được đăng trên Harkenoon và được ITguru lược dịch với mong muốn mang lại cho bạn một số câu hỏi phỏng vấn thường gặp về cấu trúc dữ liệu và giải thuật. Những câu hỏi này sẽ thích hợp cho những bạn mới ra trường hoặc 1-2 năm kinh nghiệm cần chuẩn bị cho các buổi phỏng vấn về lập trình. Theo tác giả, mục tiêu của bài viết là giúp cho những ai muốn ứng tuyển vào các công ty như Uber, Netflix, Amazon, Microsoft, Google… Tuy nhiên, theo chúng tôi các câu hỏi này cũng giúp cho các lập trình viên chưa có nhiều kinh nghiệm có thể chuẩn bị tốt cho các buổi phỏng vấn, bất kể đó là công ty nào. Lưu ý là tất cả các giải pháp cho các câu hỏi phỏng vấn trong bài này đều được thực hiện trên ngôn ngữ lập trình Java. Nếu bạn muốn tìm hiểu các câu hỏi phỏng vấn về lập trình Python có thể xem ở đây

Show

Nội dung

  • 1. Các câu hỏi phỏng vấn về mảng (Array)
  • 2. Các câu hỏi phỏng vấn về danh sách liên kết (linked list)
  • 3. Các câu hỏi phỏng vấn liên quan đến chuỗi (String)
  • 4. Các câu hỏi phỏng vấn về cây nhị phân (Binary Tree)
  • 5. Những câu hỏi phỏng vấn khác về coding
  • 6. Bạn đã sẵn sàng tham dự cuộc phỏng vấn về lập trình?

1. Các câu hỏi phỏng vấn về mảng (Array)

Mảng là cấu trúc dữ liệu cơ bản nhất của mọi ngôn ngữ lập trình, đươc lưu trong các ô nhớ liên tiếp nhau trong bộ nhớ. Có rất nhiều câu hỏi phỏng vấn xoay quanh chủ đề này trong các buổi phỏng vấn về lập trình.

Lợi ích lớn nhất của mảng là nó cho phép tìm kiếm nhanh với độ phức tạp O(1), tức cần một thời gian cố định để xử lý nếu bạn biết được các chỉ mục (index). Tuy nhiên việc thêm bớt các phẩn tử lại khá chậm do bạn không thể thay đổi kích thước của mảng một khi nó được tạo.

Để tạo một mảng ngắn hơn hay dài hơn, bạn cần phải tạo một mảng mới và copy tất cả các phần tử từ mảng cũ sang mảng mới.

Điều mấu chốt để có thể trả lời các câu hỏi về mảng khi phỏng vấn lập trình là bạn cần phải nắm vững kiến thức về cấu trúc dữ liệu mảng cũng như các hàm (programming constructors) căn bản như vòng lặp, đệ qui và các toán tử cơ bản.

Bạn có thể tìm hiểu thêm: Mảng là gì và các tác vụ trên mảng

100 câu hỏi phỏng vấn sql hàng đầu amazon năm 2022
Các kiểu dữ liệu mảng

Dưới đây là các các câu hỏi phỏng vấn thông dụng liên quan đến array trong các buổi phỏng vấn về lập trình. (Lưu ý là các tài liệu về các giải pháp cho câu trả lời đều là tiếng Anh)

  1. Làm thế nào để tìm số còn thiếu trong một mảng số nguyên cho trước từ 1 đến 100 (trả lời)
  2. Làm sao bạn có thể tìm số bị trùng lắp một mảng số nguyên cho trước? (Trả lời)
  3. Làm thế nào để bạn có thể tìm số lớn nhất và nhỏ nhất trong một mảng chưa được sắp xếp (Trả lời)
  4. Làm thế nào để tìm tất cả các cặp số trong một mảng số nguyên có tổng bằng với một số cho trước (Trả lời)
  5. Cách nào để tìm tất cả các số bị trùng lắp (duplicate) trong một mảng nếu nó chứa nhiều số bị lặp lại? (Trả lời)
  6. Trong Java, làm thế nào để loại bỏ các phần tử trùng lắp (duplicates) trong một mảng cho trước (Trả lời)
  7. Làm thế nào để có thể sắp xếp một mảng số nguyên theo thứ tự sử dụng giải thuật quicksort? (Trả lời)
  8. Làm thế nào để loại bỏ các phần tử bị trùng lắp trong một mảng? (Trả lời)
  9. Làm thế nào để bạn có thể đảo ngược thứ tự các phần tử trong một mảng trong Java? (Trả lời)
  10. Bạn làm thế nào để loại bỏ các phần tử trùng lắp trong một mảng mà không sử dụng bất kỳ thư viện (library) nào? (Trả lời)

Những câu hỏi trên không chỉ giúp bạn cải thiện kỹ năng giải quyết vấn đề (problem solving) mà còn nâng cao kiến thức về cấu trúc dữ liệu mảng (array data structure). Nếu bạn thấy 10 câu trên là chưa đủ thì đây, có thêm 30 câu hỏi khác liên quan đến mảng dành cho bạn

Ngoài ra, nếu bạn muốn tìm hiểu thêm các câu hỏi phỏng vấn về giải thuật nâng cao liên quan đến mảng, bạn cũng có thể mua thêm khóa học này The Coding Interview Bootcamp: Algorithms + Data Structures.  Đây là một khóa học về giải thuật được thiết kế giúp bạn chuẩn bị tốt các các buổi phỏng vấn vào các công ty công nghệ lớn như Google, Microsoftm Apple, Facebook, etc.

2. Các câu hỏi phỏng vấn về danh sách liên kết (linked list)

Danh sách liên kết là một loại cấu trúc dữ liệu khác bổ sung cho cấu trúc dữ liệu mảng đề cập bên trên. Tương tự như mảng, nó là cấu trúc dữ liệu tuyến tính và chứa các phần tử theo kiểu tuyến tính. Khác với mảng, danh sách liên kết không chứa các phần tử theo các vị trí liền kề nhau. Thay vào đó nó chứa các phần tử tại nhiều nơi trong bộ nhớ. Mỗi phần tử này bao gồm dữ liệu cần chứa và địa chỉ của phần tử tiếp theo.

Do có cấu trúc như vậy nên ta có thể dễ dàng thêm hay bớt các phần tử trong danh sách liên kết bằng cách thay đổi liên kết thay vì tạo lại mảng. Tuy nhiên, độ phức tạp của việc tìm một tử trong một danh sách liên kết đơn là O(n). 

Trong tài liệu này bạn có thể tìm thông tin về sự khác nhau giữa mảng và danh sách liên kết. Bạn cũng có thể tìm thấy thông tin về liên kết đơn (singly linked list), tức danh sách liên kết chỉ có kết nối từ phần tử trước đến phần tử sau, và liên kết đôi (doubly-linked list), tức danh sách liên kết có sự kết nối giữa các phần tử phía trước và phía sau. Và cuối cùng là các danh sách liên kết vòng (circular linked list), là danh sách liên kết có thêm sự kết nối giữa 2 phần tử đầu tiên và phần tử cuối cùng để tạo thành vòng khép kín.

Để có thể trả lời các câu hỏi về danh sách liên kết bạn cần có kiến thúc tốt về đệ quy. Lý do đơn giản là một danh sách liên kết là một cấu trúc dữ liệu đệ quy. Nếu bạn lấy ra một phầ tử (node) từ một linked list, cấu trúc còn lại cũng vẫn là một danh sách liên kết. Và vì vậy rất nhiều các vấn đề liên quan đến cấu danh sách liên kết được giải quyết bằng đệ quy.

100 câu hỏi phỏng vấn sql hàng đầu amazon năm 2022
Cấu trúc dữ liệu liên kết

Dưới đây là các câu hỏi phỏng vấn liên quan đến danh sách liên kết bạn hay gặp phải cùng các giải pháp cho câu trả lời:

  1. Làm thế nào để tìm một phần tử ở giữa trong một mảng liên kết đơn chỉ trong một lần tìm? (Trả lời)
  2. Làm sao bạn có thể kiểm tra để biết một danh sách liên kết cho trước có có chứa một vòng? Làm thế nào để bạn có thể tìm được node đầu của vòng đó? (Trả lời)
  3. Làm thế nào để đảo ngược một danh sách liên kết? (Trả lời)
  4. Làm thế nào để đảo ngược một danh sách liên kết đơn mà không dùng đệ quy? (Trả lời)
  5. Làm thế nào để loại bỏ các node trùng lắp trong một danh sách chưa được sắp xếp (Trả lời)
  6. Làm thế nào để tìm chiều dài của một danh sách liên kết đơn (Trả lời)
  7. Làm thế nào để tìm node thứ ba từ node cuối của một danh sách liên kết đơn? (Trả lời)
  8. Tìm tổng của hai danh sách liên kết sử dụng Stack (Trả lời)

Các câu hỏi này cũng giúp bạn phát triển kỹ năng giải quyết vấn đề cũng như cải thiện kiến thức về cấu trúc dữ liệu danh sách liên kết.

Bạn có thể xem thêm 30 câu hỏi phỏng vấn về danh sách liên kết để học hỏi thêm. Ngoài ra bạn cũng có thể tham gia khóa học Cấu Trúc Dữ liệu và Giải thuật chuyên sâu sử dụng Java cũng khá bổ ích.

3. Các câu hỏi phỏng vấn liên quan đến chuỗi (String)

Cùng với mảng và danh sách liên kết, chuỗi cũng là một chủ đề khá thông dụng trong các buổi phóng vấn về lập trình. Khó có thể tìm buổi phỏng vấn về coding nào mà không có câu hỏi về string.

Một điều tốt về string là nếu bạn đã nắm rõ về array, bạn có thể dễ dàng trả lời các câu hỏi về string vì thực ra chuỗi chính là một mảng ký tự (character array). Các kỹ thuật bạn học để giải quyết các câu hỏi về mảng cũng có thể áp dụng cho chuỗi.

100 câu hỏi phỏng vấn sql hàng đầu amazon năm 2022
Đệ quy đảo chuỗi trong Java

Dưới đây là danh sách các câu hỏi về chuỗi thường gặp trong các buổi phỏng vấn về lập trình:

  1. Làm thế nào để in các ký tự trùng lắp trong một chuỗi (Trả lời)
  2. Làm thế nào để kiểm tra xem một chuỗi có phải là đảo của một chuỗi khác? (Trả lời)
  3. Trình bày cách in ký tự không bị lặp lại đầu tiên(ví dụ swiss thì w là ký tự không bị lặp lại đầu tiên trong từ) trong một chuỗi? (Trả lời)
  4. Làm thế nào để đảo ngược một chuỗi cho trước sử dụng đệ quy? (Trả lời)
  5. Làm thế nào để kiểm tra nếu một chuỗi chỉ chứa các số? (Trả lời)
  6. Làm thế nào để tìm các ký tự trùng lắp trong một chuỗi (Trả lời)
  7. Làm thế nào để đếm số các nguyên âm và phụ âm trong một chuỗi cho trước? (Trả lời)
  8. Làm thế nào để đếm số lần xuất hiện của một ký tự cho trước trong một chuỗi (Trả lời)
  9. Làm thế nào để tìm tất cả các hoán vị của một chuỗi (Trả lời)
  10. Làm thế nào bạn có thể đảo các từ của một câu mà không dùng bất kỳ thư viện có sẵn nào? (Trả lời)
  11. Làm thế nào để kiểm tra nếu một chuỗi là một rotation (xem ví dụ trong link về giải pháp để hiểu ý nghĩa của rotation) của chuỗi còn lại? (Trả lời)
  12. Làm thế nào bạn có thể kiểm tra nếu một chuỗi cho trước là xâu đối xứng, tức có thể đọc xuôi ngược gì cũng giống nhau (palindrome)? (Trả lời)

Các câu hỏi trên sẽ giúp bạn nâng cao kiến thức về chuỗi. Nếu bạn có thể trả lời mà không cần xem các hướng dẫn thì bạn đã nắm rất vững về chuỗi rồi đấy. Tuy nhiên nếu bạn muốn luyện thêm thì có 20 câu hỏi phỏng vấn về string bạn có thể xem.

Có cuốn sách khá khó nhằn về các câu hỏi về giải thuật bạn có thể tìm hiểu thêm nếu muốn: Cẩm nang thiết kế giải thuật của Steven Skiena.

4. Các câu hỏi phỏng vấn về cây nhị phân (Binary Tree)

Cho đến lúc này chúng ta mới chỉ tìm hiểu các câu hỏi về cấu trúc dữ liệu tuyến tính. Tuy nhiên trong thực tế thông tin không phải lúc nào cũng được biễu diễn dưới dạng tuyến tính. Và khi đó cấu trúc dữ liệu cây được sử dụng.

Cấu trúc dữ liệu cây là một cấu trúc dữ liệu cho phép bạn lưu dữ liệu một cách có thứ bậc (hierarchical). Tùy vào cách bạn lưu dữ liệu mà có nhiều loại cây và một trong số đó là cây nhị phân. Trong cây nhị phân mỗi nút (node) có nhiều nhất hai nút con.

Cây nhị phân còn có một người em họ là Cây nhị phân tìm kiếm (binary search tree), cũng là một cấu trúc dữ liệu cây thông dụng. Như vậy bạn có thể sẽ phải gặp rất nhiều câu hỏi xoay quanh chủ đề này, chẳng hạn duyệt cây, đếm số node, tìm độ sâu và kiểm tra xem cây nhị phân có cân bằng hay không..

  • Xem thêm: Sự giống và khác giữa Cây nhị phân và cây nhị phân tìm kiếm.

Điều tiên quyết để giải quyết các câu hỏi về cây nhị phân là bạn phải nắm vững lý thuyết. Ví dụ các kiến thực về độ lớn hay độ sâu của của cây nhị phân, lá của cây nhị phân là gì, node là gì cũng như nắm rõ các giải thuật duyệt cây, chẳng hạn duyệt tiền thứ tự (pre-order traverse, tức duyệt Root – Left – Right), duyệt hậu thứ tự (post-order traverse, tức duyệt Left – Right – Root), hay duyệt trung thứ tự (in-order traverse, tức duyệt Left – Root – Right).  

100 câu hỏi phỏng vấn sql hàng đầu amazon năm 2022
Cây nhị phân

Dưới đây là các câu hỏi phổ biến liên quan đến cây nhị phân mà bạn có thể gặp trong các buổi phỏng vấn cho vị trí kỹ sư phần mềm hay developer:

  1. Làm thế nào để tạo một cây nhị phân tìm kiếm? (Trả lời)
  2. Làm thế nào để thực hiện việc duyệt tiền thứ tự (Preorder travelsal) trong một cây nhị phân cho sẵn?  (Trả lời)
  3. Làm thế nào để duyệt một cây nhị phân cho sẵn theo kiểu tiền thứ tự mà không dùng đệ quy? (Trả lời)
  4. Làm thế nào để bạn có thể duyệt một cây nhị phân cho sẵn theo kiểu trung thứ tự (inorder traversal)? (Trả lời)
  5. Làm thế nào để in ra tất các các node trong một cây nhị phân có sẵn dùng phương pháp duyện trung tự (in-order traversal) mà không dùng đệ quy? (Trả lời)
  6. Làm thế nào để bạn thực hiện được một giải thuật duyệt cây nhị phân theo phương pháp hậu thứ tự (postorder traversal)?  (Trả lời)
  7. Làm thế nào để duyệt cây nhị phân theo cách hậu thứ tự (postorder traversal) mà không dùng đệ quy? (Trả lời)
  8. Làm thế nào để in ra tất cả cá lá của một cây nhị phân tìm kiếm? (Trả lời)
  9. Làm thế nào để đếm số các leaf node (các node không có node con) của một cây nhị phân có sẵn? (Trả lời)
  10. Làm thế nào để thực hiện việc tìm kiếm nhị phân trong một mảng (array) cho sẵn (Trả lời)

Nếu bạn thấy mình còn nhiều lỗ hổng kiến thức về cây nhị phân và không thể giải quyết các bài toán trên thì bạn nên tham gia các khóa học để cải thiện, chẳng hạn khóa này: Grokking the Coding Interview: Patterns for Coding Questions trên nền tảng học trực tuyến Educative. Ngoài ra còn có một danh sách các sách về cấu trúc dữ liệu và giải thuật cùng một số khóa học bạn có thể tham khảo.

5. Những câu hỏi phỏng vấn khác về coding

Ngoài những câu hỏi phỏng vấn về cấu trúc dữ liệu, trong các buổi phỏng vấn về lập trình bạn còn được hỏi về giải thuật, thiết kế, các thao tác bit (bit manipulation), các câu hỏi về logic… Dưới đây là một số câu hỏi dạng này.  Điếu quan trọng là bạn phải thực hành các khái niệm này vì đôi lúc chúng khá lắt léo để có thể nhanh chóng giải quyết trong các buổi phỏng vấn. Luyện tập không chỉ giúp bạn quen thuộc mà còn giúp bạn tự tin hơn khi giải thích về giải pháp của mình cho các những người phỏng vấn bạn.

  1. Làm thế nào để thực hiện giải thuật sắp xếp nổi bọt (bubble sort)? (Trả lời)
  2. Làm thế nào để thực hiện giải thuật sắp xếp nhanh (quicksort) bằng phương pháp lặp (iterative)? (Trả lời)
  3. Làm thế nào để thực hiện giải thuật sắp xếp chèn (insertion sort)? (Trả lời)
  4. Làm thế nào để thực hiện giải thuật sắp xếp trộn (merge sort)? (Trả lời)
  5. Làm thế nào để thực hiện thuật toán bucket sort? (Trả lời)
  6. Làm thế nào để thực hiện thuật toán đếm phân phối (Counting sort)? (Trả lời)
  7. Hãy thực hiện thuật toán radix sort (sắp xếp theo cơ số)? (Trả lời)
  8. Làm sao để bạn swap hai số mà không dùng biến thứ ba? (Trả lời)
  9. Làm sao để kiểm tra nếu hai hình chữ nhật không trùng nhau? (Trả lời)
  10. Làm thế nào để thiết kế một máy bán hàng tự động (vending machine)? (Trả lời)

Nếu bạn cần tìm hiểu thêm những câu hỏi phỏng vấn về lập trình không chỉ đối với Java có thể xem trong các cuốn sách như Cracking The Code Interview của Gayle Laakmann McDowell với hơn 189+ câu hỏi về lập trình cùng các hướng dẫn trả lời.

Bạn càng luyện tập, bạn càng chuẩn bị được kỹ càng cho buổi phỏng vấn. Vì vậy bạn có thể xem thêm 50 câu hỏi phỏng vấn về lập trình cùng những cuốn sách hoặc khóa học để chuẩn bị tốt nhất.

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

6. Bạn đã sẵn sàng tham dự cuộc phỏng vấn về lập trình?

Ngoài những câu hỏi phỏng vấn liên quan đến cấu trúc dữ liệu và giải thuật thì còn có những câu hỏi khác thông dụng bạn nên tìm hiểu. Những câu hỏi đó ban có tìm thấy ở blog này.

Chúc bạn may mắn!

Bạn có thể đọc bài viết gốc tại đây

Bạn có biết?


tham gia cộng đồng ITguru trên Linkedin, Facebook và các kênh mạng xã hội khác có thể giúp bạn nhanh chóng tìm được những chủ đề phát triển nghề nghiệp và cập nhật thông tin về việc làm IT mới nhất

Linkedin Page: https://bit.ly/LinkedinITguru
Facebook Group: https://bit.ly/ITguruvn
cơ hội việc làm IT : ITguru.vn

Hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) là cơ sở dữ liệu phổ biến nhất được sử dụng giữa các tổ chức, làm cho SQL trở thành một kỹ năng bắt buộc phải có. Blog này nhằm hướng dẫn bạn thông qua các câu hỏi SQL khác nhau từ các khái niệm như MS SQL Server, cơ sở dữ liệu MySQL, v.v ... Blog này chứa các câu hỏi phỏng vấn SQL cho những người mới và các chuyên gia có kinh nghiệm. Đó là một nguồn lực một cửa thông qua đó bạn có thể tận dụng lợi ích tối đa và chuẩn bị cho các cuộc phỏng vấn việc làm dễ dàng. Kiểm tra các câu hỏi phỏng vấn hàng đầu của SQL được hỏi bởi các nhà tuyển dụng ngày hôm nay:

Q1. Xác định cơ sở dữ liệu Q2. DBMS và RDBMS là gì? Giải thích sự khác biệt giữa chúng. Q3. SQL là gì? Q4. Bình thường hóa và các loại của nó là gì? Q5. Khử biến là gì? Q6. Tham gia trong SQL là gì? Q7. Giải thích các loại SQL tham gia Q8. Các tập hợp con của SQL là gì? Q9. Các ứng dụng của SQL là gì? Q10. Một ràng buộc mặc định là gì?
Q2. What is DBMS and RDBMS? Explain the difference between them.
Q3. What is SQL?
Q4. What is normalization and its types?
Q5. What is denormalization?
Q6. What are Joins in SQL?
Q7. Explain the types of SQL Joins
Q8. What are the subsets of SQL?
Q9. What are the applications of SQL?
Q10. What is a DEFAULT constraint?

Blog này về các câu hỏi và câu trả lời phỏng vấn SQL có thể được chia thành ba phần:

1. Câu hỏi phỏng vấn SQL cơ bản

2. Câu hỏi phỏng vấn SQL trung gian

3. Câu hỏi phỏng vấn SQL nâng cao

Xem video này trên các câu hỏi và câu trả lời phỏng vấn SQL:

Câu hỏi phỏng vấn SQL cơ bản

1. Xác định cơ sở dữ liệu.

Cơ sở dữ liệu là một bộ sưu tập dữ liệu có cấu trúc có thể được lưu trữ, dễ dàng truy cập, quản lý và truy xuất kỹ thuật số từ một hệ thống máy tính từ xa hoặc cục bộ. Cơ sở dữ liệu có thể phức tạp và rộng lớn và được xây dựng với phương pháp thiết kế và mô hình hóa cố định. Mặc dù cơ sở dữ liệu nhỏ hơn có thể được lưu trữ trên hệ thống tệp, các cơ sở lớn được lưu trữ trên các cụm máy tính hoặc lưu trữ đám mây.

2. DBMS và RDBMS là gì? Giải thích sự khác biệt giữa chúng.

Hệ thống quản lý cơ sở dữ liệu hoặc DBMS là phần mềm hệ thống có thể tạo, truy xuất, cập nhật và quản lý cơ sở dữ liệu. Nó đảm bảo tính nhất quán của dữ liệu và thấy rằng nó được tổ chức và dễ dàng truy cập bằng cách hoạt động như một giao diện giữa cơ sở dữ liệu và người dùng cuối hoặc phần mềm ứng dụng. DBMS có thể được phân loại thành bốn loại:

  • Cơ sở dữ liệu phân cấp: Nó có cấu trúc treelike với dữ liệu được lưu trữ ở định dạng phân cấp. Cha mẹ trong cơ sở dữ liệu có thể có nhiều con, nhưng một đứa trẻ chỉ có thể có một cha mẹ đơn thân. It has a treelike structure with the data being stored in a hierarchical format. The parent in a database can have multiple children, but a child can have only a single parent.
  • Cơ sở dữ liệu mạng: Loại cơ sở dữ liệu này được trình bày dưới dạng biểu đồ có thể có các mối quan hệ nhiều đến nhiều cho phép trẻ em có nhiều con. This type of database is presented as a graph that can have many-to-many relationships allowing children to have multiple children.
  • Cơ sở dữ liệu quan hệ: Đây là cơ sở dữ liệu được sử dụng rộng rãi và dễ sử dụng nhất. Nó được biểu diễn dưới dạng bảng và các giá trị trong các cột và hàng có liên quan với nhau. It is the most widely used and easy-to-use database. It is represented as a table and the values in the columns and rows are related to each other.
  • Cơ sở dữ liệu hướng đối tượng: Các giá trị và hoạt động dữ liệu được lưu trữ dưới dạng các đối tượng trong loại cơ sở dữ liệu này và các đối tượng này có nhiều mối quan hệ giữa chúng. The data values and operations are stored as objects in this type of database, and these objects have multiple relationships among them.

RDBMS lưu trữ dữ liệu dưới dạng một bộ sưu tập các bảng. Các mối quan hệ được xác định giữa các trường chung của các bảng này. MS SQL Server, MySQL, IBM DB2, Oracle và Amazon Redshift đều dựa trên RDBMS.

DBMS vs RDBMS

Thông số DBMS RDBMS
Truy cập Các yếu tố dữ liệu cần được truy cập riêng Có thể truy cập nhiều phần tử dữ liệu cùng một lúc
Mối quan hệ giữa dữ liệu Không có mối quan hệ giữa dữ liệu Dữ liệu trong bảng có liên quan đến nhau
Bình thường hóa Nó không có mặt Nó có mặt
Cơ sở dữ liệu phân tán Nó không hỗ trợ cơ sở dữ liệu phân tán Nó hỗ trợ cơ sở dữ liệu phân tán
Định dạng lưu trữ dữ liệu Dữ liệu được lưu trữ ở dạng điều hướng hoặc phân cấp Dữ liệu được lưu trữ trong một cấu trúc bảng với các tiêu đề là tên cột và các hàng chứa các giá trị tương ứng
Số lượng dữ liệu Nó liên quan đến một lượng nhỏ dữ liệu Nó liên quan đến một lượng dữ liệu lớn hơn
Dữ liệu dự phòng Nó là phổ biến Các khóa và chỉ mục không cho phép dự phòng dữ liệu
Số lượng người dùng Nó hỗ trợ một người dùng duy nhất Nó hỗ trợ nhiều người dùng
Dữ liệu tìm nạp Nó chậm hơn đối với một lượng lớn dữ liệu Nó nhanh chóng do phương pháp quan hệ
Bảo mật dữ liệu Mức độ an toàn thấp khi nói đến thao tác dữ liệu Tồn tại nhiều cấp độ bảo mật dữ liệu
Yêu cầu phần mềm và phần cứng Low  Cao
Ví dụ XML, sổ đăng ký cửa sổ, v.v. MySQL, SQL Server, Oracle, Microsoft Access, PostgreSQL, ETC.

3. SQL là gì?

SQL là viết tắt của ngôn ngữ truy vấn có cấu trúc. Đây là ngôn ngữ tiêu chuẩn cho RDBM và rất hữu ích trong việc xử lý dữ liệu có tổ chức có các thực thể hoặc biến có quan hệ giữa chúng. SQL được sử dụng để giao tiếp với cơ sở dữ liệu.

Theo ANSI, SQL được sử dụng để duy trì RDBM và để thực hiện các hoạt động thao tác dữ liệu khác nhau trên các loại dữ liệu khác nhau bằng cách sử dụng các tính năng của SQL. Về cơ bản, nó là một ngôn ngữ cơ sở dữ liệu được sử dụng để tạo và xóa cơ sở dữ liệu. Nó cũng có thể được sử dụng, trong số những thứ khác, để tìm nạp và sửa đổi các hàng của bảng.

4. Bình thường hóa và các loại của nó là gì?

Bình thường hóa được sử dụng để giảm dự phòng dữ liệu và sự phụ thuộc bằng cách tổ chức các trường và bảng trong cơ sở dữ liệu. Nó liên quan đến việc xây dựng các bảng và thiết lập mối quan hệ giữa các bảng đó theo các quy tắc nhất định. Sự dư thừa và phụ thuộc không nhất quán có thể được loại bỏ bằng cách sử dụng các quy tắc này để làm cho bình thường hóa linh hoạt hơn.

Các hình thức chuẩn hóa khác nhau là: & nbsp;

  • Mẫu bình thường đầu tiên: Nếu mọi thuộc tính trong một mối quan hệ có giá trị đơn, thì đó là ở dạng bình thường đầu tiên. Nếu nó chứa một thuộc tính tổng hợp hoặc đa giá trị, thì nó vi phạm hình thức bình thường đầu tiên. If every attribute in a relation is single-valued, then it is in the first normal form. If it contains a composite or multi-valued attribute, then it is in violation of the first normal form.
  • Mẫu bình thường thứ hai: Một mối quan hệ được cho là ở dạng bình thường thứ hai nếu nó đáp ứng các điều kiện cho dạng bình thường đầu tiên và không có bất kỳ sự phụ thuộc một phần tập hợp con của bất kỳ khóa ứng cử viên của bảng. Thông thường, giải pháp cho vấn đề này là chỉ định một khóa chính cột đơn. A relation is said to be in the second normal form if it has met the conditions for the first normal form and does not have any partial dependency, i.e., it does not have a non-prime attribute that relies on any proper subset of any candidate key of the table. Often, the solution to this problem is specifying a single-column primary key.
  • Mẫu bình thường thứ ba: Một mối quan hệ ở dạng bình thường thứ ba khi đáp ứng các điều kiện cho dạng bình thường thứ hai và không có bất kỳ sự phụ thuộc nào giữa các thuộc tính phi nguyên tắc, tức là, tất cả các thuộc tính phi nguyên tắc chỉ được quyết định bởi ứng cử viên Các khóa của mối quan hệ chứ không phải bởi các thuộc tính phi nguyên tắc khác. A relation is in the third normal form when it meets the conditions for the second normal form and there is not any transitive dependency between the non-prime attributes, i.e., all the non-prime attributes are decided only by the candidate keys of the relation and not by other non-prime attributes.
  • Boyce-Codd Mẫu bình thường: Một mối quan hệ ở dạng bình thường Boyce-Codd hoặc BCNF Nếu nó đáp ứng các điều kiện của dạng bình thường thứ ba và đối với mọi phụ thuộc chức năng, phía bên trái là một siêu khóa. Một mối quan hệ có trong BCNF khi và chỉ khi X là siêu khóa cho mọi phụ thuộc chức năng không cần thiết trong Mẫu X -> Y. A relation is in the Boyce-Codd normal form or BCNF if it meets the conditions of the third normal form, and for every functional dependency, the left-hand side is a super key. A relation is in BCNF if and only if X is a super key for every nontrivial functional dependency in form X –> Y.

5. Khử hóa là gì?

Khử biến là đối nghịch của bình thường hóa; Dữ liệu dự phòng được thêm vào để tăng tốc các truy vấn phức tạp có nhiều bảng cần được nối. Tối ưu hóa hiệu suất đọc của cơ sở dữ liệu được thử bằng cách thêm hoặc nhóm các bản sao dữ liệu dự phòng.

6. Tham gia trong SQL là gì?

Tham gia vào SQL được sử dụng để kết hợp các hàng từ hai hoặc nhiều bảng dựa trên một cột liên quan giữa chúng. Có nhiều loại tham gia khác nhau có thể được sử dụng để truy xuất dữ liệu và nó phụ thuộc vào mối quan hệ giữa các bảng.

Có bốn loại tham gia:

  • Tham gia bên trong
  • Chỗ nối bên trái
  • Đúng vậy tham gia
  • Tham gia đầy đủ

7. Giải thích các loại sql tham gia.

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

Có bốn loại sql tham gia khác nhau:

    • (Bên trong) Tham gia: Nó được sử dụng để truy xuất các bản ghi có giá trị phù hợp trong cả hai bảng có liên quan đến tham gia. Tham gia bên trong chủ yếu được sử dụng để tham gia các truy vấn.
      SELECT *
      FROM Table_A
      JOIN Table_B;
      SELECT *
      FROM Table_A
      INNER JOIN Table_B;
      It is used to retrieve the records that have matching values in both the tables that are involved in the join. Inner Join is mostly used to join queries.
      SELECT *
      FROM Table_A
      JOIN Table_B;
      SELECT *
      FROM Table_A
      INNER JOIN Table_B;
    • Bên trái (bên ngoài) Tham gia: Sử dụng tham gia bên trái là để truy xuất tất cả các bản ghi hoặc hàng từ bên trái và các bản phù hợp từ bên phải.
      SELECT *
      FROM Table_A A
      LEFT JOIN Table_B B
      ON A.col = B.col;
      Use of left join is to retrieve all the records or rows from the left and the matched ones from the right.
      SELECT *
      FROM Table_A A
      LEFT JOIN Table_B B
      ON A.col = B.col;
    • Phải (bên ngoài) Tham gia: Sử dụng tham gia bên phải là truy xuất tất cả các bản ghi hoặc hàng từ bên phải và các bản phù hợp từ bên trái.
      SELECT *
      FROM Table_A A
      RIGHT JOIN Table_B B
      ON A.col = B.col;
      Use of Right join is to retrieve all the records or rows from the right and the matched ones from the left.
      SELECT *
      FROM Table_A A
      RIGHT JOIN Table_B B
      ON A.col = B.col;
  • Tham gia đầy đủ (bên ngoài): Việc sử dụng & nbsp; của tham gia đầy đủ là & nbsp; để truy xuất các hồ sơ có khớp trong bảng bên trái hoặc bảng bên phải.
    SELECT *
    FROM Table_A A
    FULL JOIN Table_B B
    ON A.col = B.col;
    The use of Full join is to retrieve the records that have a match either in the left table or the right table.
    SELECT *
    FROM Table_A A
    FULL JOIN Table_B B
    ON A.col = B.col;

Nhận 100% đi bộ!

Làm chủ nhiều nhất về kỹ năng nhu cầu bây giờ!

8. Các tập hợp con của SQL là gì?

Các truy vấn SQL được chia thành bốn loại chính:are divided into four main categories:

  • Các truy vấn DDL định nghĩa dữ liệu (DDL) được tạo thành từ các lệnh SQL có thể được sử dụng để xác định cấu trúc của cơ sở dữ liệu và sửa đổi nó.
    DDL queries are made up of SQL commands that can be used to define the structure of the database and modify it.
    • Tạo & NBSP; Tạo cơ sở dữ liệu, bảng, lược đồ, v.v. Creates databases, tables, schema, etc.
    • Drop: Drops bảng và các đối tượng cơ sở dữ liệu khác Drops tables and other database objects
    • Cột thả: Thả một cột từ bất kỳ cấu trúc bảng nào Drops a column from any table structure
    • Thay đổi: thay đổi định nghĩa của các đối tượng cơ sở dữ liệu Alters the definition of database objects
    • Cắt ngắn: Xóa bảng, lượt xem, quy trình và các đối tượng cơ sở dữ liệu khác Removes tables, views, procedures, and other database objects
    • Thêm cột: Thêm bất kỳ cột nào vào lược đồ bảng Adds any column to the table schema
  • Ngôn ngữ thao tác dữ liệu (DML) Các truy vấn SQL này được sử dụng để thao tác dữ liệu trong cơ sở dữ liệu.
    These SQL queries are used to manipulate data in a database.
    • Chọn vào: Chọn dữ liệu từ một bảng và chèn nó vào một bảng khácSelects data from one table and inserts it into another
    • Chèn: Chèn dữ liệu hoặc bản ghi vào bảngInserts data or records into a table
    • Cập nhật: Cập nhật giá trị của bất kỳ bản ghi nào trong cơ sở dữ liệuUpdates the value of any record in the database
    • Xóa: Xóa các bản ghi khỏi bảngDeletes records from a table
  • Ngôn ngữ kiểm soát dữ liệu (DCL) Các truy vấn SQL này quản lý quyền truy cập và kiểm soát quyền của cơ sở dữ liệu.
    These SQL queries manage the access rights and permission control of the database.
    • Cấp: Tài trợ quyền truy cập cho các đối tượng cơ sở dữ liệu Grants access rights to database objects
    • Thu hồi: rút quyền từ các đối tượng cơ sở dữ liệu Withdraws permission from database objects
  • Ngôn ngữ kiểm soát giao dịch (TCL) TCL là một tập hợp các lệnh về cơ bản quản lý các giao dịch trong cơ sở dữ liệu và các thay đổi được thực hiện bởi các câu lệnh DML. TCL cho phép các câu lệnh được nhóm lại với nhau thành các giao dịch logic. & NBSP;
    TCL is a set of commands that essentially manages the transactions in a database and the changes made by the DML statements. TCL allows statements to be grouped together into logical transactions. 
    • Cam kết: Kết quả giao dịch không thể đảo ngược, tức là, hình ảnh trước của cơ sở dữ liệu trước khi giao dịch không thể được truy xuấtCommits an irreversible transaction, i.e., the previous image of the database prior to the transaction cannot be retrieved
    • Rollback: Hoàn nguyên các bước trong một giao dịch trong trường hợp lỗi Reverts the steps in a transaction in case of an error
    • SavePoint: Đặt điểm lưu trong giao dịch mà rollback có thể được thực thi Sets a savepoint in the transaction to which rollback can be executed
    • Đặt giao dịch: Đặt các đặc điểm của giao dịch Sets the characteristics of the transaction

9. Các ứng dụng của SQL là gì?

Các ứng dụng chính của SQL bao gồm:

  • Viết tập lệnh tích hợp dữ liệu
  • Cài đặt và chạy các truy vấn phân tích
  • Lấy các tập hợp thông tin trong cơ sở dữ liệu cho các ứng dụng phân tích và xử lý giao dịch
  • Thêm, cập nhật và xóa các hàng và cột dữ liệu trong cơ sở dữ liệu

10. Một ràng buộc mặc định là gì?

Các ràng buộc trong SQL được sử dụng để chỉ định một số loại quy tắc để xử lý dữ liệu và giới hạn loại dữ liệu có thể đi vào bảng. Bây giờ, hãy cho chúng tôi hiểu những ràng buộc mặc định là gì.

Một ràng buộc mặc định được sử dụng để xác định giá trị mặc định cho một cột để nó được thêm vào tất cả các bản ghi mới nếu không có giá trị nào được chỉ định. Ví dụ: nếu chúng ta gán một ràng buộc mặc định cho cột e_salary trong bảng sau và đặt giá trị mặc định thành 85000, thì tất cả các mục của cột này sẽ có giá trị mặc định là 85000, trừ khi không có giá trị nào khác được chỉ định trong quá trình chèn .

Bây giờ, chúng ta hãy xem qua cách đặt ràng buộc mặc định. Chúng tôi sẽ bắt đầu bằng cách tạo một bảng mới và thêm một ràng buộc mặc định vào một trong các cột của nó.

Code:

create table stu1(s_id int, s_name varchar(20), s_marks int default 50)
select *stu1

Output:

Bây giờ, chúng tôi sẽ chèn các hồ sơ.

Code:

insert into stu1(s_id,s_name) values(1,’Sam’)
insert into stu1(s_id,s_name) values(2,’Bob’)
insert into stu1(s_id,s_name) values(3,’Matt’)
select *from stu1

Output:

Ngoài ra, hãy học từ blog của chúng tôi về các câu hỏi và câu trả lời phỏng vấn của MySQL để bẻ khóa bất kỳ cuộc phỏng vấn nào.

11. Một ràng buộc độc đáo là gì?

Các ràng buộc duy nhất đảm bảo rằng tất cả các giá trị trong một cột là khác nhau. Ví dụ: nếu chúng ta gán một ràng buộc duy nhất cho cột e_name trong bảng sau, thì mọi mục nhập trong cột này sẽ có một giá trị duy nhất.

Đầu tiên, chúng tôi sẽ tạo một bảng.

create table stu2(s_id int unique, s_name varchar(20))

Bây giờ, chúng tôi sẽ chèn các hồ sơ.

insert into stu2 values(1,’Julia’)
insert into stu2 values(2,’Matt’)
insert into stu2 values(3,’Anne’)

Output:

Ngoài ra, hãy học từ blog của chúng tôi về các câu hỏi và câu trả lời phỏng vấn của MySQL để bẻ khóa bất kỳ cuộc phỏng vấn nào.

11. Một ràng buộc độc đáo là gì?

Các ràng buộc duy nhất đảm bảo rằng tất cả các giá trị trong một cột là khác nhau. Ví dụ: nếu chúng ta gán một ràng buộc duy nhất cho cột e_name trong bảng sau, thì mọi mục nhập trong cột này sẽ có một giá trị duy nhất.

Đầu tiên, chúng tôi sẽ tạo một bảng.

Một ràng buộc chính sẽ tự động có một ràng buộc duy nhất. Tuy nhiên, không giống như khóa chính, nhiều ràng buộc duy nhất được cho phép cho mỗi bảng.

12. Ý nghĩa của bảng và trường trong SQL là gì?

Một dữ liệu có tổ chức dưới dạng các hàng và cột được cho là một bảng. Nói một cách đơn giản, nó là một tập hợp các dữ liệu liên quan theo định dạng bảng.

//
CREATE TABLE Employee (
ID int NOT NULL,
Employee_name varchar(255) NOT NULL,
Employee_designation varchar(255),
Employee_Age int,
PRIMARY KEY (ID)
);

Ở đây các hàng và cột được gọi là các bộ dữ liệu và thuộc tính, và số lượng cột trong bảng được gọi là một trường. Trong hồ sơ, các trường đại diện cho các đặc điểm và thuộc tính và chứa thông tin cụ thể về dữ liệu.

13. Khóa chính là gì?

Một khóa chính được sử dụng để xác định duy nhất tất cả các bản ghi bảng. Nó không thể có các giá trị null và phải chứa các giá trị duy nhất. Chỉ có một khóa chính có thể tồn tại trong một bảng và nó có thể có một trường đơn hoặc nhiều trường, làm cho nó trở thành một khóa tổng hợp.

Bây giờ, chúng tôi sẽ viết một truy vấn để chứng minh việc sử dụng khóa chính cho bảng nhân viên:

14. Khóa duy nhất là gì?

Khóa chỉ có thể chấp nhận một giá trị null và không thể chấp nhận các giá trị trùng lặp được gọi là khóa duy nhất. Vai trò của một khóa duy nhất là đảm bảo rằng tất cả các cột và hàng là duy nhất.

Cú pháp cho một khóa duy nhất sẽ giống như khóa chính. Vì vậy, truy vấn sử dụng khóa duy nhất cho bảng nhân viên sẽ là:

//
CREATE TABLE Employee (
ID int NOT NULL,
Employee_name varchar(255) NOT NULL,
Employee_designation varchar(255),
Employee_Age int,
UNIQUE(ID)
);

15. Sự khác biệt giữa khóa chính và khóa duy nhất là gì?

SELECT *
FROM Table_A A
LEFT JOIN Table_B B
ON A.col = B.col;
0

Cả hai khóa chính và duy nhất đều mang các giá trị duy nhất nhưng khóa chính không thể có giá trị null, trong khi khóa duy nhất có thể. Trong một bảng, không thể có nhiều hơn một khóa chính, nhưng có thể có nhiều khóa duy nhất.

16. Khóa nước ngoài là gì?

  • Khóa nước ngoài là một thuộc tính hoặc một tập hợp các thuộc tính tham chiếu khóa chính của một số bảng khác. Về cơ bản, một khóa nước ngoài được sử dụng để liên kết với nhau hai bảng.
  • Hãy để chúng tôi tạo một khóa ngoại cho bảng sau:
  • 17. Các tập hợp con của SQL là gì?
  • Các tập hợp con chính của SQL là:

Ngôn ngữ định nghĩa dữ liệu (DDL)

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

  • Ngôn ngữ thao tác dữ liệu (DML) DDL is that part of SQL that defines the data structure of the database in the initial stage when the database is about to be created. It is mainly used to create and restructure database objects. Commands in DDL are:
    • Ngôn ngữ kiểm soát dữ liệu (DCL)
    • Ngôn ngữ kiểm soát giao dịch (TCL)
    • 18. Giải thích các loại lệnh SQL khác nhau.
  • DDL: DDL là một phần của SQL xác định cấu trúc dữ liệu của cơ sở dữ liệu trong giai đoạn ban đầu khi cơ sở dữ liệu sắp được tạo. Nó chủ yếu được sử dụng để tạo và tái cấu trúc các đối tượng cơ sở dữ liệu. Các lệnh trong DDL là: DML is used to manipulate already existing data in a database, i.e., it helps users to retrieve and manipulate data. It is used to perform operations such as inserting data into the database through the insert command, updating data with the update command, and deleting data from the database through the delete command.
  • Tạo bảng DCL is used to control access to the data in the database. DCL commands are normally used to create objects related to user access and to control the distribution of privileges among users. The commands that are used in DCL are Grant and Revoke.
  • Thay đổi bảng TCL is used to control the changes made by DML commands. It also authorizes the statements to assemble in conjunction with logical transactions. The commands that are used in TCL are Commit, Rollback, Savepoint, Begin, and Transaction.

Ngoài ra, hãy xem SQL Command Cheatsheet.

19. Sử dụng SQL là gì?

Các hoạt động sau đây có thể được thực hiện bằng cách sử dụng cơ sở dữ liệu SQL:

  • Tạo cơ sở dữ liệu mới
  • Chèn dữ liệu mới
  • Xóa dữ liệu hiện có
  • Cập nhật hồ sơ
  • Lấy dữ liệu
  • Tạo và thả bảng
  • Tạo các chức năng và chế độ xem
  • Chuyển đổi các loại dữ liệu

20. Chỉ mục là gì?

Các chỉ mục giúp tăng tốc tìm kiếm trong cơ sở dữ liệu. Nếu không có chỉ mục trên một cột trong mệnh đề WHERE, thì máy chủ SQL phải lướt qua toàn bộ bảng và kiểm tra từng hàng để tìm các trận đấu, điều này có thể dẫn đến các hoạt động chậm trong dữ liệu lớn.

Các chỉ mục được sử dụng để tìm tất cả các hàng khớp với một số cột và sau đó chỉ lướt qua các tập hợp dữ liệu đó để tìm các trận đấu.

Syntax:

SELECT *
FROM Table_A A
LEFT JOIN Table_B B
ON A.col = B.col;
1

21. Giải thích các loại chỉ mục.

Chỉ số cột đơn: Một chỉ mục một cột chỉ được tạo cho một cột của bảng.

Syntax:

SELECT *
FROM Table_A A
LEFT JOIN Table_B B
ON A.col = B.col;
2

Các chỉ mục cột tổng hợp: Một chỉ mục cột tổng hợp được tạo cho hai hoặc nhiều cột của bảng.

Syntax:

SELECT *
FROM Table_A A
LEFT JOIN Table_B B
ON A.col = B.col;
3

Các chỉ mục duy nhất: Một chỉ mục duy nhất được sử dụng để duy trì tính toàn vẹn dữ liệu của bảng. Một chỉ mục duy nhất không cho phép nhiều giá trị được chèn vào bảng.

Syntax:

SELECT *
FROM Table_A A
LEFT JOIN Table_B B
ON A.col = B.col;
4

22. Các thực thể và mối quan hệ là gì?

Các thực thể: Một thực thể có thể là một người, địa điểm, vật hoặc bất kỳ đối tượng có thể nhận dạng nào có thể được lưu trữ trong cơ sở dữ liệu.

Ví dụ, trong cơ sở dữ liệu của công ty, nhân viên, dự án, tiền lương, v.v., có thể được gọi là các thực thể.

Mối quan hệ: Mối quan hệ giữa các thực thể có thể được gọi là kết nối giữa hai bảng hoặc thực thể.

Ví dụ, trong một cơ sở dữ liệu đại học, thực thể sinh viên và các thực thể bộ phận được liên kết với nhau.

Điều đó kết thúc phần của các câu hỏi phỏng vấn cơ bản. Bây giờ chúng ta hãy chuyển sang phần tiếp theo của các câu hỏi phỏng vấn trung gian.

Câu hỏi phỏng vấn SQL trung gian

23. Các toán tử SQL là gì?

Các toán tử SQL là các từ khóa hoặc ký tự đặc biệt thực hiện các hoạt động cụ thể. Chúng cũng được sử dụng trong các truy vấn SQL. Các toán tử này có thể được sử dụng trong Điều khoản của các lệnh SQL. Dựa trên điều kiện được chỉ định, các toán tử SQL lọc dữ liệu. & NBSP;

Các toán tử SQL có thể được phân loại thành các loại sau:

  • Toán tử số học: cho các hoạt động toán học trên dữ liệu số & nbsp; For mathematical operations on numerical data 
    • bổ sung (+)
    • phép trừ (-)
    • phép nhân (*)
    • phân công (/)
    • phần còn lại/mô đun (%)
  • Các toán tử logic: Để đánh giá các biểu thức và trả về kết quả trong đúng hoặc sai For evaluating the expressions and return results in True or False
    • TẤT CẢ CÁC
    • KHÔNG TÍ NÀO
    • Isnull
    • Tồn tại
    • GIỮA
    • IN 
    • GIỐNG
    • KHÔNG PHẢI
    • OR 
    • ĐỘC NHẤT
  • Các toán tử so sánh: Để so sánh hai giá trị và kiểm tra xem chúng có giống nhau hay không & NBSP; For comparisons of two values and checking whether they are the same or not 
    • bằng (=)
    • không bằng (! = hoặc)
    • ít hơn (
    • lớn hơn (>)
    • ít hơn hoặc bằng (
    • lớn hơn hoặc bằng (> =)
    • không ít hơn (!
    • Không lớn hơn (!>)
  • Các toán tử bitwise: Đối với các thao tác bit giữa hai biểu thức của loại số nguyên. Trước tiên, nó thực hiện chuyển đổi các số nguyên thành các bit nhị phân và sau đó các toán tử ứng dụng & nbsp; For bit manipulations between two expressions of integer type. It first performs conversion of integers into binary bits and then applied operators 
    • Và (& Biểu tượng)
    • Hoặc (|, ^)
    • Không (~)
  • Các toán tử hỗn hợp: Đối với các hoạt động trên một biến trước khi đặt kết quả biến đổi thành kết quả hoạt động For operations on a variable before setting the variable’s result to the operation’s result
    • Thêm bằng (+=)
    • Trừ bằng (-=)
    • Nhân bằng (*=)
    • Chia bằng (/=)
    • modulo bằng (%=)
  • Toán tử chuỗi: Để kết hợp và khớp mẫu của chuỗi For concatenation and pattern matching of strings
    • + (Concatenation chuỗi)
    • += (Gán kết nối chuỗi)
    • % (Wildcard)
    • [] (Ký tự phù hợp)
    • [^] (Ký tự không phù hợp)
    • _ (Wildcard phù hợp với một ký tự)

24. Ý bạn là gì về tính toàn vẹn của dữ liệu?

Tính toàn vẹn dữ liệu là sự đảm bảo về tính chính xác và tính nhất quán của dữ liệu trong toàn bộ vòng đời của nó. Đó là một khía cạnh quan trọng của thiết kế, triển khai và sử dụng các hệ thống lưu trữ, xử lý hoặc truy xuất dữ liệu.

Tính toàn vẹn dữ liệu cũng xác định các ràng buộc toàn vẹn để thực thi các quy tắc kinh doanh trên dữ liệu khi được nhập vào cơ sở dữ liệu hoặc ứng dụng.

25. Kho dữ liệu là gì?

Kho dữ liệu là một kho lớn dữ liệu tích lũy, từ một loạt các nguồn, trong một tổ chức. Dữ liệu giúp thúc đẩy các quyết định kinh doanh.

26. Làm thế nào bạn sẽ tìm thấy mức lương cao thứ hai từ bảng sau?

Code:

SELECT *
FROM Table_A A
LEFT JOIN Table_B B
ON A.col = B.col;
5

Output:

27. Tại sao chức năng sàn được sử dụng trong SQL Server?

Hàm sàn () giúp tìm giá trị số nguyên lớn nhất cho một số nhất định, có thể là một số bằng hoặc ít hơn.

28. Nêu sự khác biệt giữa các chỉ mục phân cụm và không phân cụm

  • Chỉ mục phân cụm: Nó được sử dụng để sắp xếp các hàng dữ liệu theo các giá trị chính của chúng. Một chỉ mục phân cụm giống như nội dung của một danh bạ điện thoại. Chúng ta có thể mở cuốn sách tại David David (cho David David, Thompson,) và tìm thông tin cho tất cả các David ngay cạnh nhau. Vì dữ liệu được đặt cạnh nhau, nó giúp tìm nạp dữ liệu dựa trên các truy vấn dựa trên phạm vi. Một chỉ mục phân cụm thực sự có liên quan đến cách lưu trữ dữ liệu; Chỉ có một chỉ mục phân cụm là có thể cho mỗi bảng. It is used to sort the rows of data by their key values. A clustered index is like the contents of a phone book. We can open the book at “David” (for “David, Thompson”) and find information for all Davids right next to each other. Since the data is located next to each other, it helps a lot in fetching the data based on range-based queries. A clustered index is actually related to how the data is stored; only one clustered index is possible per table.
  • Chỉ mục không phân chia: Nó lưu trữ dữ liệu tại một vị trí và chỉ mục tại một vị trí khác. Chỉ số có con trỏ trỏ đến vị trí của dữ liệu. Vì các chỉ mục trong một chỉ mục không phân cụm được lưu trữ ở một nơi khác, có thể có nhiều chỉ mục không phân cụm cho một bảng. It stores data at one location and indexes at another location. The index has pointers that point to the location of the data. As the indexes in a non-clustered index are stored in a different place, there can be many non-clustered indexes for a table.

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

Bây giờ, chúng ta sẽ thấy sự khác biệt chính giữa các chỉ mục được phân cụm và không phân cụm:

Thông số Chỉ số cụm Chỉ số không phân chia
Được dùng cho Sắp xếp và lưu trữ hồ sơ về thể chất trong bộ nhớ Tạo một thứ tự hợp lý cho các hàng dữ liệu; Con trỏ được sử dụng cho các tệp dữ liệu vật lýrows; pointers are used for physical data files
Phương pháp lưu trữ Lưu trữ dữ liệu trong các nút lá của chỉ mục Không bao giờ lưu trữ dữ liệu trong các nút lá của chỉ mục
Kích thước Khá là lớn Tương đối, nhỏ, small
Truy cập dữ liệu Nhanh Chậm
Không gian đĩa bổ sung Không yêu cầu Yêu cầu lưu trữ các chỉ mục riêng biệt
Loại khóa Theo mặc định, khóa chính của bảng là chỉ mục được phân cụm Nó có thể được sử dụng với ràng buộc duy nhất trên bảng hoạt động như một phím tổng hợp
Tính năng chính Cải thiện hiệu suất truy xuất dữ liệu Nên được tạo trên các cột được sử dụng trong các kết nốiJoins

29. Bạn biết gì về CDC trong SQL Server?

CDC đề cập đến thay đổi thu thập dữ liệu. Nó nắm bắt hoạt động chèn, xóa và cập nhật gần đây được áp dụng cho các bảng SQL Server. Nó ghi lại các thay đổi thành các bảng SQL Server ở định dạng tương thích.

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

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

Bây giờ, hãy để so sánh sự khác biệt giữa SQL và MySQL.

SQL Mysql
Nó là một ngôn ngữ truy vấn có cấu trúc được sử dụng trong cơ sở dữ liệuNó là một hệ thống quản lý cơ sở dữ liệu
Nó được sử dụng cho hệ thống cơ sở dữ liệu truy vấn và vận hànhNó cho phép xử lý dữ liệu, lưu trữ và sửa đổi một cách có tổ chức
nó luôn luôn là như nhauNó tiếp tục cập nhật
Nó chỉ hỗ trợ một công cụ lưu trữ duy nhấtNó hỗ trợ nhiều công cụ lưu trữ
Máy chủ độc lậpTrong các phiên sao lưu, máy chủ chặn cơ sở dữ liệu

31. Nêu sự khác biệt giữa SQL và PL/SQL

SQL PL/SQL
MysqlNó là một ngôn ngữ truy vấn có cấu trúc được sử dụng trong cơ sở dữ liệu
Nó là một hệ thống quản lý cơ sở dữ liệuNó được sử dụng cho hệ thống cơ sở dữ liệu truy vấn và vận hành
Nó cho phép xử lý dữ liệu, lưu trữ và sửa đổi một cách có tổ chứcnó luôn luôn là như nhau
Nó tiếp tục cập nhậtNó chỉ hỗ trợ một công cụ lưu trữ duy nhất
Nó hỗ trợ nhiều công cụ lưu trữMáy chủ độc lập
Trong các phiên sao lưu, máy chủ chặn cơ sở dữ liệu31. Nêu sự khác biệt giữa SQL và PL/SQL

Nó là một ngôn ngữ truy vấn có cấu trúc cơ sở dữ liệu

Đây là ngôn ngữ lập trình cho cơ sở dữ liệu sử dụng SQLatomicity, consistency, isolation, and durability. ACID properties are used to check the reliability of transactions.

    • Nó là một truy vấn riêng lẻ được sử dụng để thực thi các lệnh DML và DDLa transaction refers to a single logical operation on data. This implies that if any aspect of a transaction fails, the whole transaction fails and the database state remains unchanged.
  • Nó là một khối mã được sử dụng để viết toàn bộ quy trình hoặc một hàmvalidity guidelines. The transaction never leaves the database without finishing its state.
  • Nó là một ngôn ngữ tuyên bố và hướng dữ liệuisolation.
  • Nó là một ngôn ngữ theo quy trình và ứng dụng theo hướng

Nó chủ yếu được sử dụng để thao tác dữ liệu

Nó được sử dụng để tạo các ứng dụng

Nó cung cấp sự tương tác với máy chủ cơ sở dữ liệu

Nó không cung cấp tương tác với máy chủ cơ sở dữ liệu
Some of the character manipulation functions are:

Nó không thể chứa mã PL/SQL It returns the string in uppercase.

Syntax:

SELECT *
FROM Table_A A
LEFT JOIN Table_B B
ON A.col = B.col;
6

Example:

SELECT *
FROM Table_A A
LEFT JOIN Table_B B
ON A.col = B.col;
7

Output:

SELECT *
FROM Table_A A
LEFT JOIN Table_B B
ON A.col = B.col;
8

Nó có thể chứa SQL vì nó là một phần mở rộng của SQL It returns the string in lowercase.

Syntax:

SELECT *
FROM Table_A A
LEFT JOIN Table_B B
ON A.col = B.col;
9

Example:

SELECT *
FROM Table_A A
RIGHT JOIN Table_B B
ON A.col = B.col;
0

Output:

SELECT *
FROM Table_A A
RIGHT JOIN Table_B B
ON A.col = B.col;
1

32. Thuộc tính axit trong cơ sở dữ liệu là gì? It converts the first letter of the string to uppercase and retains others in lowercase.

Syntax:

SELECT *
FROM Table_A A
RIGHT JOIN Table_B B
ON A.col = B.col;
2

Example:

SELECT *
FROM Table_A A
RIGHT JOIN Table_B B
ON A.col = B.col;
3

Output:

SELECT *
FROM Table_A A
RIGHT JOIN Table_B B
ON A.col = B.col;
4

Hình thức đầy đủ của axit là tính nguyên tử, tính nhất quán, cách ly và độ bền. Tính chất axit được sử dụng để kiểm tra độ tin cậy của các giao dịch. It is used to concatenate two strings.

Syntax:

SELECT *
FROM Table_A A
RIGHT JOIN Table_B B
ON A.col = B.col;
5

Example:

SELECT *
FROM Table_A A
RIGHT JOIN Table_B B
ON A.col = B.col;
6

Output:

SELECT *
FROM Table_A A
RIGHT JOIN Table_B B
ON A.col = B.col;
7

Nguyên tử đề cập đến các giao dịch đã hoàn thành hoặc thất bại, trong đó một giao dịch đề cập đến một hoạt động logic duy nhất trên dữ liệu. Điều này ngụ ý rằng nếu bất kỳ khía cạnh nào của giao dịch đều thất bại, toàn bộ giao dịch đều thất bại và trạng thái cơ sở dữ liệu vẫn không thay đổi. It is used to get the length of a string.

Syntax:

SELECT *
FROM Table_A A
RIGHT JOIN Table_B B
ON A.col = B.col;
8

Example:

SELECT *
FROM Table_A A
RIGHT JOIN Table_B B
ON A.col = B.col;
9

Output:

SELECT *
FROM Table_A A
FULL JOIN Table_B B
ON A.col = B.col;
0

Tính nhất quán có nghĩa là dữ liệu đáp ứng tất cả các hướng dẫn hợp lệ. Giao dịch không bao giờ rời khỏi cơ sở dữ liệu mà không hoàn thành trạng thái của nó.

Quản lý đồng thời là mục tiêu chính của sự cô lập.

Độ bền đảm bảo rằng một khi giao dịch được thực hiện, nó sẽ xảy ra bất kể điều gì xảy ra ở giữa như mất điện, hỏa hoạn hoặc một số loại xáo trộn khác.

Giá trị tự động bắt đầu từ 1 và được tăng thêm 1 bất cứ khi nào một bản ghi mới được chèn.

Syntax:

SELECT *
FROM Table_A A
FULL JOIN Table_B B
ON A.col = B.col;
1

Hãy xem blog của chúng tôi về các câu hỏi phỏng vấn PL/SQL để bẻ khóa cuộc phỏng vấn SQL của bạn. & NBSP;

36. Sự khác biệt giữa các lệnh xóa và cắt ngắn là gì?

  • Xóa: Truy vấn này được sử dụng để xóa hoặc xóa một hoặc nhiều bảng hiện có. This query is used to delete or remove one or more existing tables.
  • Cắt ngắn: Câu lệnh này xóa tất cả dữ liệu từ bên trong bảng. This statement deletes all the data from inside a table.

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

Sự khác biệt giữa các lệnh xóa và cắt ngắn như sau:

  • Cắt ngắn là một lệnh DDL và xóa là lệnh DML.
  • Với cắt ngắn, chúng ta không thể thực hiện và kích hoạt, trong khi xóa, chúng ta có thể thực hiện một trình kích hoạt.
  • Nếu một bảng được tham chiếu bởi các ràng buộc khóa nước ngoài, thì cắt ngắn sẽ không hoạt động. Vì vậy, nếu chúng ta có một khóa ngoại, thì chúng ta phải sử dụng lệnh xóa.

Cú pháp cho lệnh xóa:

SELECT *
FROM Table_A A
FULL JOIN Table_B B
ON A.col = B.col;
2

Example:

SELECT *
FROM Table_A A
FULL JOIN Table_B B
ON A.col = B.col;
3

Output:

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

SELECT *
FROM Table_A A
FULL JOIN Table_B B
ON A.col = B.col;
4

Output:

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

Cú pháp cho lệnh cắt ngắn:

SELECT *
FROM Table_A A
FULL JOIN Table_B B
ON A.col = B.col;
5

Example:

SELECT *
FROM Table_A A
FULL JOIN Table_B B
ON A.col = B.col;
6

Output:

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

SELECT *
FROM Table_A A
FULL JOIN Table_B B
ON A.col = B.col;
7

Output:

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

Điều này xóa tất cả các bản ghi từ một bảng.

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

37. Sự khác biệt giữa các lệnh thả và cắt ngắn là gì?

Nếu một bảng bị bỏ, tất cả những thứ liên quan đến bảng đó cũng bị loại bỏ. Điều này bao gồm các mối quan hệ được xác định trên bảng với các bảng khác, các đặc quyền truy cập và cấp mà bảng có, cũng như kiểm tra và ràng buộc toàn vẹn. & NBSP;

Để tạo và sử dụng bảng một lần nữa ở dạng ban đầu của nó, tất cả các yếu tố được liên kết với bảng cần được xác định lại. & NBSP;

Tuy nhiên, nếu một bảng bị cắt ngắn, không có vấn đề như đã đề cập ở trên. Bảng giữ lại cấu trúc ban đầu của nó.

38. Một kích hoạt của người Viking trong SQL là gì?

Trình kích hoạt có thể được định nghĩa là một quy trình tự động xảy ra khi một sự kiện xảy ra trong máy chủ cơ sở dữ liệu. Nó giúp duy trì tính toàn vẹn của bảng. Trình kích hoạt được kích hoạt khi các lệnh, chẳng hạn như chèn, cập nhật và xóa, được đưa ra.

Cú pháp được sử dụng để tạo chức năng kích hoạt là:

SELECT *
FROM Table_A A
FULL JOIN Table_B B
ON A.col = B.col;
8

39. Tên người dùng và mật khẩu được lưu trữ trong SQL Server ở đâu?

Trong SQL Server, tên người dùng và mật khẩu được lưu trữ trong cơ sở dữ liệu chính trong bảng sysxlogin.

40. Các loại mối quan hệ trong cơ sở dữ liệu SQL Server là gì?

Mối quan hệ được phát triển bằng cách liên kết cột của một bảng với cột của bảng khác. Có ba loại mối quan hệ khác nhau, như sau:

  • Mối quan hệ một-một
  • Mối quan hệ nhiều người
  • Mối quan hệ nhiều người

41. Các công cụ của bên thứ ba được sử dụng trong SQL Server là gì?

Sau đây là danh sách các công cụ của bên thứ ba được sử dụng trong SQL Server:

  • Kiểm tra SQL
  • SQL DOC 2
  • SQL Sao lưu 5
  • SQL nhắc nhở
  • Litespeed 5.0

42. Làm thế nào bạn có thể xử lý kỳ vọng trong SQL Server?

Hãy thử và bắt các khối xử lý các ngoại lệ trong SQL Server. Đặt câu lệnh SQL trong khối thử và viết mã vào khối bắt để xử lý các kỳ vọng. Nếu có lỗi trong mã trong khối thử, thì điều khiển sẽ tự động di chuyển đến khối Catch đó.

43. Có bao nhiêu chế độ xác thực trong SQL Server? Và họ là gì?

Hai chế độ xác thực có sẵn trong SQL Server. Họ đang:

  • Chế độ xác thực Windows: Nó cho phép xác thực cho Windows nhưng không phải cho SQL Server.
  • Chế độ hỗn hợp: Nó cho phép cả hai loại xác thực Windows và SQL Server.

44. Chức năng trong SQL Server là gì?

Một chức năng là một đối tượng cơ sở dữ liệu SQL Server. Về cơ bản, nó là một tập hợp các câu lệnh SQL cho phép các tham số đầu vào, thực hiện xử lý và chỉ trả về kết quả. Một hàm chỉ có thể trả về một giá trị hoặc bảng duy nhất; Khả năng chèn, cập nhật và xóa các bản ghi trong các bảng cơ sở dữ liệu không có sẵn.

45. Đề cập đến các loại sao chép khác nhau trong SQL Server?

Trong SQL Server, ba loại sao chép khác nhau có sẵn:

  • Sao chép chụp nhanh
  • Sao chép giao dịch
  • Hợp nhất nhân rộng

46. ​​Lệnh nào được sử dụng để tìm ra phiên bản SQL Server?

Lệnh sau được sử dụng để xác định phiên bản SQL Server:

SELECT *
FROM Table_A A
FULL JOIN Table_B B
ON A.col = B.col;
9

47. Chức năng hợp tác là gì?

Hàm Coalesce có một tập hợp các đầu vào và trả về giá trị không null đầu tiên.

Syntax:

create table stu1(s_id int, s_name varchar(20), s_marks int default 50)
select *stu1
0

Example:

create table stu1(s_id int, s_name varchar(20), s_marks int default 50)
select *stu1
1

Output:

create table stu1(s_id int, s_name varchar(20), s_marks int default 50)
select *stu1
2

48. Chúng ta có thể liên kết SQL Server với người khác không?

SQL Server cho phép nhà cung cấp OLEDB, cung cấp liên kết, để kết nối với tất cả các cơ sở dữ liệu.

Ví dụ: Oracle, tôi có một nhà cung cấp OLEDB có liên kết để kết nối với nhóm SQL Server. Oracle, I have an OLEDB provider that has a link to connect with an SQL Server group.

49. Tác nhân SQL Server là gì?

SQL Server Agent đóng vai trò quan trọng trong công việc hàng ngày của quản trị viên SQL Server hoặc DBA. Đây là một trong những phần quan trọng của SQL Server. Mục đích của tác nhân máy chủ là dễ dàng thực hiện các tác vụ bằng công cụ lập lịch cho phép thực hiện các tác vụ tại thời gian theo lịch trình. SQL Server Agent sử dụng SQL Server để lưu trữ thông tin nhiệm vụ quản lý theo lịch trình.

50. Bạn biết gì về các bảng ma thuật trong SQL Server?

Một bảng ma thuật có thể được định nghĩa là một bảng logic tạm thời được phát triển bởi một máy chủ SQL cho các tác vụ như chèn, xóa hoặc cập nhật (DML). Các hoạt động gần đây được thực hiện trên các hàng được tự động lưu trữ trong các bảng ma thuật. Bảng ma thuật không phải là bảng vật lý; Chúng chỉ là những bảng nội bộ tạm thời.

51. Một số mệnh đề phổ biến được sử dụng với các truy vấn được chọn trong SQL là gì?

Có nhiều mệnh đề câu lệnh chọn trong SQL. Một số điều khoản được sử dụng phổ biến nhất với các truy vấn được chọn là:

  • Từ mệnh đề từ định nghĩa các bảng và chế độ xem mà dữ liệu có thể được giải thích. Các bảng và chế độ xem được liệt kê phải tồn tại tại thời điểm câu hỏi được đưa ra.
    The FROM clause defines the tables and views from which data can be interpreted. The tables and views listed must exist at the time the question is given.
  • WHERETHE WHERE mệnh đề xác định các tham số được sử dụng để giới hạn nội dung của bảng kết quả. Bạn có thể kiểm tra các mối quan hệ cơ bản hoặc cho các mối quan hệ giữa một cột và một loạt các cột bằng cách sử dụng các phần phụ.
    The WHERE clause defines the parameters that are used to limit the contents of the results table. You can test for basic relationships or for relationships between a column and a series of columns using subselects.
  • Nhóm BYTHE theo mệnh đề thường được sử dụng cho các hàm tổng hợp để tạo ra một hàng kết quả duy nhất cho mỗi tập hợp các giá trị duy nhất trong một tập hợp các cột hoặc biểu thức.
    The GROUP BY clause is commonly used for aggregate functions to produce a single outcome row for each set of unique values in a set of columns or expressions.
  • Đơn hàng theo thứ tự của mệnh đề giúp chọn các cột mà bảng kết quả nên được sắp xếp.
    The ORDER BY clause helps in choosing the columns on which the table’s result should be sorted.
  • Có mệnh đề có các bộ lọc kết quả của nhóm theo mệnh đề bằng cách sử dụng hàm tổng hợp.
    The HAVING clause filters the results of the GROUP BY clause by using an aggregate function.

52. Có gì sai với truy vấn SQL sau đây?

create table stu1(s_id int, s_name varchar(20), s_marks int default 50)
select *stu1
3

Khi lệnh này được thực thi, nó đưa ra lỗi sau:

create table stu1(s_id int, s_name varchar(20), s_marks int default 50)
select *stu1
4

Tập hợp có thể không xuất hiện trong mệnh đề WHERE trừ khi nó nằm trong một trình truy vấn con có trong mệnh đề có hoặc một danh sách chọn; Cột được tổng hợp là một tham chiếu bên ngoài.

create table stu1(s_id int, s_name varchar(20), s_marks int default 50)
select *stu1
5

Điều này về cơ bản có nghĩa là bất cứ khi nào chúng tôi làm việc với các chức năng tổng hợp và đang sử dụng nhóm theo mệnh đề, chúng tôi không thể sử dụng mệnh đề WHERE. Do đó, thay vì mệnh đề WHERE, chúng ta nên sử dụng mệnh đề có.

Khi chúng tôi đang sử dụng mệnh đề có, nhóm theo mệnh đề sẽ đến trước, theo sau là mệnh đề có.

create table stu1(s_id int, s_name varchar(20), s_marks int default 50)
select *stu1
6

Output:

53. Bạn biết gì về chức năng công cụ ()?

Hàm công cụ () xóa một phần của chuỗi và sau đó chèn một phần khác vào chuỗi, bắt đầu ở một vị trí được chỉ định.

Syntax:

create table stu1(s_id int, s_name varchar(20), s_marks int default 50)
select *stu1
7

Ở đây, String1 là một trong đó sẽ được ghi đè. Vị trí cho biết vị trí bắt đầu để ghi đè chuỗi. Độ dài là độ dài của chuỗi thay thế và String2 là chuỗi sẽ ghi đè lên chuỗi1.

Example:

create table stu1(s_id int, s_name varchar(20), s_marks int default 50)
select *stu1
8

Điều này sẽ thay đổi hướng dẫn SQL sang ‘Hướng dẫn Python

Output:

create table stu1(s_id int, s_name varchar(20), s_marks int default 50)
select *stu1
9

54. Quan điểm là gì? Cho một ví dụ.

Lượt xem là các bảng ảo được sử dụng để giới hạn các bảng mà chúng tôi muốn hiển thị. Quan điểm không là gì ngoài kết quả của một câu lệnh SQL có tên liên quan đến nó. Vì các quan điểm không có mặt về mặt vật lý, chúng có ít không gian hơn để lưu trữ.

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

Chúng ta hãy xem xét một ví dụ. Trong bảng nhân viên sau đây, nói rằng chúng tôi muốn thực hiện nhiều hoạt động trong hồ sơ với giới tính nữ. Chúng tôi có thể tạo một bảng chỉ xem cho các nhân viên nữ từ toàn bộ bảng nhân viên.

Bây giờ, chúng ta hãy thực hiện nó trên SQL Server.

Đây là bảng nhân viên:

insert into stu1(s_id,s_name) values(1,’Sam’)
insert into stu1(s_id,s_name) values(2,’Bob’)
insert into stu1(s_id,s_name) values(3,’Matt’)
select *from stu1
0

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

Bây giờ, chúng tôi sẽ viết cú pháp cho chế độ xem.

Syntax:

insert into stu1(s_id,s_name) values(1,’Sam’)
insert into stu1(s_id,s_name) values(2,’Bob’)
insert into stu1(s_id,s_name) values(3,’Matt’)
select *from stu1
1

Output:

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

55. Các loại quan điểm trong SQL là gì?

Trong SQL, các quan điểm được phân loại thành bốn loại. Họ đang:

  • Chế độ xem đơn giản: Một chế độ xem dựa trên một bảng và không có một nhóm theo mệnh đề hoặc các tính năng khác.
  • Chế độ xem phức tạp: Một chế độ xem được xây dựng từ một số bảng và bao gồm một nhóm theo mệnh đề cũng như các chức năng.
  • Chế độ xem nội tuyến: Một chế độ xem được xây dựng trên một truy vấn con trong mệnh đề từ, cung cấp một bảng tạm thời và đơn giản hóa một truy vấn phức tạp.
  • Chế độ xem vật chất hóa: Một quan điểm lưu cả định nghĩa và chi tiết. Nó xây dựng bản sao dữ liệu bằng cách bảo tồn vật lý chúng.

Câu hỏi phỏng vấn SQL nâng cao

56. Thủ tục được lưu trữ là gì? Cho một ví dụ.

Một quy trình được lưu trữ là một mã SQL đã chuẩn bị có thể được lưu và tái sử dụng. Nói cách khác, chúng ta có thể coi một quy trình được lưu trữ là một chức năng bao gồm nhiều câu lệnh SQL để truy cập hệ thống cơ sở dữ liệu. Chúng tôi có thể hợp nhất một số câu lệnh SQL vào một quy trình được lưu trữ và thực hiện chúng bất cứ khi nào và bất cứ nơi nào cần thiết.

Một quy trình được lưu trữ có thể được sử dụng như một phương tiện của lập trình mô -đun, tức là, chúng ta có thể tạo một quy trình được lưu trữ một lần, lưu trữ nó và gọi nó nhiều lần theo yêu cầu. Điều này cũng hỗ trợ thực thi nhanh hơn khi so sánh với việc thực hiện nhiều truy vấn.

Syntax:

insert into stu1(s_id,s_name) values(1,’Sam’)
insert into stu1(s_id,s_name) values(2,’Bob’)
insert into stu1(s_id,s_name) values(3,’Matt’)
select *from stu1
2

Example:

insert into stu1(s_id,s_name) values(1,’Sam’)
insert into stu1(s_id,s_name) values(2,’Bob’)
insert into stu1(s_id,s_name) values(3,’Matt’)
select *from stu1
3

Output:

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

57. Giải thích Tham gia bên trong với một ví dụ.

Tham gia bên trong về cơ bản cung cấp cho chúng tôi những hồ sơ có giá trị phù hợp trong hai bảng.

Chúng ta hãy giả sử rằng chúng ta có hai bảng, Bảng A và Bảng B. Khi chúng ta áp dụng tham gia bên trong trên hai bảng này, chúng ta sẽ chỉ nhận được những bản ghi phổ biến cho cả Bảng A và Bảng B.

Syntax:

insert into stu1(s_id,s_name) values(1,’Sam’)
insert into stu1(s_id,s_name) values(2,’Bob’)
insert into stu1(s_id,s_name) values(3,’Matt’)
select *from stu1
4

Example:

insert into stu1(s_id,s_name) values(1,’Sam’)
insert into stu1(s_id,s_name) values(2,’Bob’)
insert into stu1(s_id,s_name) values(3,’Matt’)
select *from stu1
5

Output:

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

Bây giờ, chúng tôi sẽ áp dụng tham gia bên trong cho cả hai bảng này, trong đó cột E_DEPT trong bảng nhân viên bằng cột D_NAME của bảng bộ phận.

Syntax:

insert into stu1(s_id,s_name) values(1,’Sam’)
insert into stu1(s_id,s_name) values(2,’Bob’)
insert into stu1(s_id,s_name) values(3,’Matt’)
select *from stu1
6

Output:

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

Sau khi đăng ký tham gia bên trong, chúng tôi chỉ có những hồ sơ trong đó các bộ phận phù hợp trong cả hai bảng. Như chúng ta có thể thấy, các bộ phận phù hợp là hỗ trợ, phân tích và bán hàng.

58. Nêu sự khác biệt giữa quan điểm và bảng.

Lượt xem Những cái bàn
Chế độ xem là một bảng ảo được trích xuất từ ​​cơ sở dữ liệu Một bảng được cấu trúc với một số cột đã đặt và số lượng hàng vô biên
Một chế độ xem không tự giữ dữ liệu Một bảng chứa dữ liệu và lưu trữ nó trong cơ sở dữ liệu
Một chế độ xem được sử dụng để truy vấn một số thông tin có trong một vài bảng riêng biệt Một bảng chứa thông tin khách hàng cơ bản và các trường hợp của một đối tượng đặc trưng
Theo quan điểm, chúng tôi sẽ nhận được thông tin thường xuyên được truy vấn Trong bảng, thay đổi thông tin trong cơ sở dữ liệu thay đổi thông tin xuất hiện trong chế độ xem

59. Bạn hiểu gì về một bàn tạm thời? Viết một truy vấn để tạo một bảng tạm thời

Một bảng tạm thời giúp chúng tôi lưu trữ và xử lý kết quả trung gian. Các bảng tạm thời được tạo và có thể được tự động xóa khi chúng không còn được sử dụng. Chúng rất hữu ích ở những nơi cần lưu trữ dữ liệu tạm thời.

Syntax:

insert into stu1(s_id,s_name) values(1,’Sam’)
insert into stu1(s_id,s_name) values(2,’Bob’)
insert into stu1(s_id,s_name) values(3,’Matt’)
select *from stu1
7

Output:

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

60. Giải thích sự khác biệt giữa OLTP và OLAP.

OLTP: Nó là viết tắt của xử lý giao dịch trực tuyến và chúng tôi có thể coi đây là một danh mục ứng dụng phần mềm hiệu quả để hỗ trợ các chương trình định hướng giao dịch. Một trong những thuộc tính quan trọng của hệ thống OLTP là tiềm năng của nó để duy trì tính nhất quán. Hệ thống OLTP thường tuân theo kế hoạch phi tập trung để tránh xa những điểm thất bại. Hệ thống này thường được thiết kế cho một lượng lớn người dùng cuối để thực hiện các giao dịch ngắn. Các truy vấn liên quan đến cơ sở dữ liệu như vậy nói chung là đơn giản, cần thời gian phản hồi nhanh và, so sánh, chỉ trả lại trong một vài bản ghi. Vì vậy, số lượng giao dịch mỗi giây hoạt động như một biện pháp hiệu quả cho các hệ thống đó. It stands for online transaction processing, and we can consider it to be a category of software applications that are efficient for supporting transaction-oriented programs. One of the important attributes of the OLTP system is its potential to keep up the consistency. The OLTP system often follows decentralized planning to keep away from single points of failure. This system is generally designed for a large audience of end users to perform short transactions. The queries involved in such databases are generally simple, need fast response time, and, in comparison, return in only a few records. So, the number of transactions per second acts as an effective measure for those systems.

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

OLAP: Nó là viết tắt của xử lý phân tích trực tuyến và nó là một danh mục các chương trình phần mềm được xác định bởi tần suất giao dịch trực tuyến tương đối thấp hơn. Đối với các hệ thống OLAP, hiệu quả của điện toán phụ thuộc rất nhiều vào thời gian phản hồi. Do đó, các hệ thống như vậy thường được sử dụng để khai thác dữ liệu hoặc duy trì dữ liệu lịch sử tổng hợp và chúng thường được sử dụng trong các lược đồ đa chiều. It stands for online analytical processing, and it is a category of software programs that are identified by a comparatively lower frequency of online transactions. For OLAP systems, the efficiency of computing depends highly on the response time. Hence, such systems are generally used for data mining or maintaining aggregated historical data, and they are usually used in multidimensional schemas.

61. OLAP lai là gì?

Hybrid OLAP (HOLAP) sử dụng kết hợp các cấu trúc dữ liệu đa chiều và các bảng cơ sở dữ liệu quan hệ để lưu trữ dữ liệu đa chiều. Các tập hợp cho một phân vùng Holap được lưu trữ bởi các dịch vụ phân tích trong một cấu trúc đa chiều. Các sự kiện được lưu trữ trong một cơ sở dữ liệu quan hệ.

62. Bạn hiểu gì khi tự tham gia? Giải thích bằng cách sử dụng một ví dụ

Tự tham gia SQL được sử dụng để tham gia một bảng với chính nó. Ở đây, tùy thuộc vào một số điều kiện, mỗi hàng của bảng được nối với chính nó và với các hàng khác của bảng.

Syntax:

insert into stu1(s_id,s_name) values(1,’Sam’)
insert into stu1(s_id,s_name) values(2,’Bob’)
insert into stu1(s_id,s_name) values(3,’Matt’)
select *from stu1
8

Example:

Hãy xem xét bảng khách hàng được đưa ra dưới đây.

Example:

Hãy xem xét bảng khách hàng được đưa ra dưới đây.

TÔI Tên Tuổi tác Địa chỉ nhà Lương
1 Anand 32 Ahmedabad 2,000.00
2 Abhishek 25 Delhi 1,500.00
3 Shivam 23 Kota 2,000.00
4 Vishal 25 Mumbai 6,500.00
5 Sayeedul 27 Bhopal 8,500.00
6 Amir 22 MP 4,500.00
7 Arpit 24 Indore 10,000.00

Bây giờ chúng tôi sẽ tham gia bảng bằng cách sử dụng tự tham gia:

insert into stu1(s_id,s_name) values(1,’Sam’)
insert into stu1(s_id,s_name) values(2,’Bob’)
insert into stu1(s_id,s_name) values(3,’Matt’)
select *from stu1
9

Output:

TÔI Tên Lương
2 Anand 1,500.00
2 Abhishek 1,500.00
1 Vishal 2,000.00
2 Vishal 1,500.00
3 Vishal 2,000.00
6 Vishal 4,500.00
1 Sayeedul 2,000.00
2 Sayeedul 1,500.00
3 Sayeedul 2,000.00
4 Sayeedul 6,500.00
6 Sayeedul 4,500.00
1 Amir 2,000.00
2 Amir 1,500.00
3 Amir 2,000.00
1 Arpit 2,000.00
2 Arpit 1,500.00
3 Arpit 2,000.00
4 Arpit 6,500.00
5 Arpit 8,500.00
6 Arpit 4,500.00

Indore

Bây giờ chúng tôi sẽ tham gia bảng bằng cách sử dụng tự tham gia:

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

Syntax:

create table stu2(s_id int unique, s_name varchar(20))
0

Union:

create table stu2(s_id int unique, s_name varchar(20))
1

63. Sự khác biệt giữa Liên minh và Liên minh tất cả các nhà khai thác là gì?

Toán tử Union được sử dụng để kết hợp tập hợp kết quả của hai hoặc nhiều câu lệnh chọn. Ví dụ: câu lệnh chọn đầu tiên trả về cá hiển thị trong hình A và câu lệnh thứ hai trả về cá hiển thị trong hình ảnh B. Toán tử Union sau đó sẽ trả về kết quả của hai câu lệnh được chọn như trong hình A u B. nếu có Một bản ghi có mặt trong cả hai bảng, sau đó chúng tôi sẽ chỉ nhận được một trong số chúng trong kết quả cuối cùng.

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

create table stu2(s_id int unique, s_name varchar(20))
2

Union:

create table stu2(s_id int unique, s_name varchar(20))
3

Output:

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

Bây giờ, chúng tôi sẽ thực thi nó trong máy chủ SQL.

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

Đây là hai bảng trong đó chúng tôi sẽ sử dụng nhà điều hành công đoàn.

Syntax:

create table stu2(s_id int unique, s_name varchar(20))
2

Liên minh tất cả:

create table stu2(s_id int unique, s_name varchar(20))
3

Output:

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

64. Con trỏ là gì? Làm thế nào để sử dụng một con trỏ?

Con trỏ cơ sở dữ liệu là một điều khiển cho phép bạn điều hướng xung quanh một bảng hoặc tài liệu. Nó có thể được gọi là một con trỏ cho một hàng trong một tập hợp các hàng. Con trỏ cực kỳ hữu ích cho các hoạt động truyền tải cơ sở dữ liệu như trích xuất, chèn và loại bỏ.

  • Sau khi bất kỳ tuyên bố biến, khai báo một con trỏ. Một câu lệnh Chọn phải luôn được căn chỉnh với khai báo con trỏ.
  • Để khởi tạo tập kết quả, các câu lệnh mở phải được gọi trước khi tìm nạp các hàng từ bảng kết quả.
  • Để lấy và chuyển sang hàng tiếp theo trong tập kết quả, hãy sử dụng câu lệnh Fetch.
  • Để hủy kích hoạt con trỏ, sử dụng biểu thức đóng.
  • Cuối cùng, sử dụng điều khoản Deallocation để gỡ cài đặt mô tả con trỏ và xóa tất cả các tài nguyên liên quan đến nó.

Dưới đây là một ví dụ SQL con trỏ:

create table stu2(s_id int unique, s_name varchar(20))
6

65. Việc sử dụng toán tử giao nhau là gì?

Toán tử giao nhau giúp kết hợp hai câu lệnh chọn và chỉ trả về những bản ghi phổ biến cho cả hai câu lệnh chọn. Vì vậy, sau khi chúng tôi nhận được Bảng A và Bảng B ở đây và nếu chúng tôi áp dụng toán tử giao nhau trên hai bảng này, thì chúng tôi sẽ chỉ nhận được những bản ghi phổ biến cho kết quả của các câu lệnh chọn của hai bảng này.

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

Syntax:

create table stu2(s_id int unique, s_name varchar(20))
7

Bây giờ, chúng ta hãy xem một ví dụ cho toán tử giao nhau.

create table stu2(s_id int unique, s_name varchar(20))
8

Output:

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

create table stu2(s_id int unique, s_name varchar(20))
9

Output:

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

66. Làm thế nào bạn có thể sao chép dữ liệu từ một bảng vào bảng khác?

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

Ở đây, chúng tôi có bảng nhân viên của chúng tôi.

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

Chúng tôi phải sao chép dữ liệu này vào một bảng khác. Đối với mục đích này, chúng ta có thể sử dụng chèn vào toán tử chọn. Trước khi chúng ta đi trước và làm điều đó, chúng ta sẽ phải tạo một bảng khác sẽ có cấu trúc giống như bảng được đưa ra.

Syntax:

insert into stu2 values(1,’Julia’)
insert into stu2 values(2,’Matt’)
insert into stu2 values(3,’Anne’)
0

Để sao chép dữ liệu, chúng tôi sẽ sử dụng truy vấn sau:

insert into stu2 values(1,’Julia’)
insert into stu2 values(2,’Matt’)
insert into stu2 values(3,’Anne’)
1

Chúng ta hãy xem bảng sao chép.

insert into stu2 values(1,’Julia’)
insert into stu2 values(2,’Matt’)
insert into stu2 values(3,’Anne’)
2

Output:

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

67. Sự khác biệt giữa và trong các toán tử trong SQL là gì?

Các toán tử giữa được sử dụng để biểu diễn các hàng dựa trên một tập hợp các giá trị. Các giá trị có thể là số, văn bản hoặc ngày. Các toán tử giữa trả về tổng số giá trị tồn tại giữa hai phạm vi được chỉ định.

Toán tử điều kiện được sử dụng để tìm kiếm các giá trị trong một phạm vi giá trị nhất định. Nếu chúng ta có nhiều hơn một giá trị để lựa chọn, thì chúng ta sẽ sử dụng toán tử trong.

68. Mô tả cách xóa các hàng trùng lặp bằng một câu lệnh nhưng không có bất kỳ tạo bảng nào.

Hãy để chúng tôi tạo một bảng nhân viên trong đó tên cột là ID, tên, bộ phận và email. Dưới đây là các tập lệnh SQL để tạo dữ liệu mẫu:

insert into stu2 values(1,’Julia’)
insert into stu2 values(2,’Matt’)
insert into stu2 values(3,’Anne’)
3

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

Chúng ta có thể thấy các hàng trùng lặp trong bảng trên.

insert into stu2 values(1,’Julia’)
insert into stu2 values(2,’Matt’)
insert into stu2 values(3,’Anne’)
4

Truy vấn SQL ở trên sẽ xóa các hàng, trong đó các trường tên được nhân đôi và nó sẽ chỉ giữ lại những hàng duy nhất trong đó các tên là duy nhất và các trường ID là thấp nhất, tức là, các hàng có ID 5 và 6 bị xóa, trong khi các hàng có ID 1 và 2 được giữ lại.

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

69. Bạn có thể xác định nhân viên có mức lương cao thứ ba từ bảng nhân viên đã cho (với dữ liệu liên quan đến tiền lương) không?

Xem xét bảng nhân viên sau đây. Trong bảng, Sabid có mức lương cao thứ ba (60.000).

Tên Lương
Tarun 70,000
Sabid 60,000
Adarsh 30,000
Vaibhav 80,000

Dưới đây là một truy vấn đơn giản để tìm ra nhân viên có mức lương cao thứ ba. Xếp hạng chức năng, thứ hạng dày đặc và số hàng được sử dụng để có được giá trị số nguyên ngày càng tăng bằng cách áp đặt mệnh đề theo thứ tự trong câu lệnh Chọn, dựa trên thứ tự của các hàng. Đơn hàng theo mệnh đề là cần thiết khi xếp hạng, thứ hạng dày đặc hoặc hàm số hàng được sử dụng. Mặt khác, phân vùng theo mệnh đề là tùy chọn.

insert into stu2 values(1,’Julia’)
insert into stu2 values(2,’Matt’)
insert into stu2 values(3,’Anne’)
5

70. Sự khác biệt giữa có và các điều khoản là gì?

Sự khác biệt giữa có và các mệnh đề trong SQL là trong khi mệnh đề nơi không thể sử dụng mệnh đề với các tập hợp, mệnh đề có được sử dụng với dữ liệu tổng hợp. Điều khoản WHERE hoạt động trên dữ liệu từ một hàng chứ không phải với dữ liệu tổng hợp.

Hãy để chúng tôi xem xét bảng nhân viên dưới đây.

Tên Lương Lương
Tarun Sabid 50,000
Tarun Sabid 60,000
Sabid Adarsh 70,000
Adarsh Sabid 80,000
Vaibhav Sabid 90,000

Adarsh

insert into stu2 values(1,’Julia’)
insert into stu2 values(2,’Matt’)
insert into stu2 values(3,’Anne’)
6

Output:

Tên Lương
Tarun 50,000
Tarun 60,000
Sabid 70,000
Adarsh 80,000
Vaibhav 90,000

Dưới đây là một truy vấn đơn giản để tìm ra nhân viên có mức lương cao thứ ba. Xếp hạng chức năng, thứ hạng dày đặc và số hàng được sử dụng để có được giá trị số nguyên ngày càng tăng bằng cách áp đặt mệnh đề theo thứ tự trong câu lệnh Chọn, dựa trên thứ tự của các hàng. Đơn hàng theo mệnh đề là cần thiết khi xếp hạng, thứ hạng dày đặc hoặc hàm số hàng được sử dụng. Mặt khác, phân vùng theo mệnh đề là tùy chọn.

insert into stu2 values(1,’Julia’)
insert into stu2 values(2,’Matt’)
insert into stu2 values(3,’Anne’)
7

Output:

Lương Tarun
Adarsh 70,000
Sabid 130,000
Sabid 150,000

Adarsh

insert into stu2 values(1,’Julia’)
insert into stu2 values(2,’Matt’)
insert into stu2 values(3,’Anne’)
8

Output:

Lương Tarun
Sabid 130,000
Sabid 150,000

Adarsh

Phương pháp kiểm tra hộp màu trắng chủ yếu liên quan đến cấu trúc bên trong của một cơ sở dữ liệu cụ thể, nơi người dùng ẩn các chi tiết đặc điểm kỹ thuật. Phương pháp kiểm tra hộp màu trắng liên quan đến những điều sau:

  • Vì lỗi mã hóa có thể được phát hiện bằng cách kiểm tra hộp trắng, nó có thể loại bỏ các lỗi nội bộ.
  • Để kiểm tra tính nhất quán của cơ sở dữ liệu, nó chọn các giá trị bảng mặc định.
  • Phương pháp này xác minh quy tắc toàn vẹn tham chiếu.
  • Nó giúp thực hiện thử nghiệm mô -đun của các chức năng cơ sở dữ liệu, trình kích hoạt, chế độ xem và truy vấn SQL.

Phương pháp kiểm tra hộp đen thường liên quan đến kiểm tra giao diện, tiếp theo là tích hợp cơ sở dữ liệu. Phương pháp kiểm tra hộp đen liên quan đến những điều sau:

  • Lập bản đồ chi tiết
  • Xác minh dữ liệu đến
  • Xác minh dữ liệu gửi đi từ các chức năng truy vấn khác

72. Làm thế nào bạn có thể tạo các bảng trống có cùng cấu trúc với một bảng khác?

Điều này có thể đạt được bằng cách tìm nạp các bản ghi của một bảng vào một bảng mới bằng cách sử dụng toán tử vào trong khi sửa một mệnh đề WHERE là sai cho tất cả các bản ghi. Theo cách này, SQL chuẩn bị bảng mới với cấu trúc trùng lặp để chấp nhận các bản ghi được tìm nạp. Tuy nhiên, không có hồ sơ nào sẽ được tìm nạp do điều khoản ở đâu trong hành động. Do đó, không có gì được chèn vào bảng mới, do đó tạo ra một bảng trống.

insert into stu2 values(1,’Julia’)
insert into stu2 values(2,’Matt’)
insert into stu2 values(3,’Anne’)
9

Amazon có hỏi SQL không?

Vì kiến ​​thức và sự hiểu biết về SQL là các yêu cầu chính cho cả các nhà khoa học dữ liệu và nhà phân tích dữ liệu tại Amazon, nhiều câu hỏi phỏng vấn yêu cầu viết giải pháp bằng ngôn ngữ này. Trên thực tế, Amazon hỏi ít câu hỏi hơn về các khái niệm lý thuyết và sản phẩm của họ khi so sánh với các công ty công nghệ khác.many interview questions require writing solutions using this language. In fact, Amazon asks much less questions about theoretical concepts and their products when compared to other tech companies.

Làm cách nào để chuẩn bị cho cuộc phỏng vấn SQL?

Chiến lược sáu bước cho cuộc phỏng vấn SQL của bạn..
Đặt lại câu hỏi để đảm bảo bạn hiểu những gì bạn đang được yêu cầu làm ..
Khám phá dữ liệu bằng cách đặt câu hỏi. ....
Xác định các cột bạn sẽ cần để giải quyết vấn đề. ....
Hãy suy nghĩ về câu trả lời của bạn nên trông như thế nào. ....
Viết mã của bạn từng bước một lúc ..

Các câu hỏi được hỏi trong cuộc phỏng vấn SQL là gì?

Câu hỏi phỏng vấn SQL được cập nhật lần cuối vào ngày 25 tháng 9 năm 2022..
Cơ sở dữ liệu là gì?.
DBMS là gì?.
RDBMS là gì?Làm thế nào nó khác với DBMS ?.
SQL là gì?.
Sự khác biệt giữa SQL và MySQL là gì ?.
Bảng và trường là gì?.
Những ràng buộc trong SQL là gì ?.
Khóa chính là gì?.

Tôi có thể thực hành các câu hỏi SQL ở đâu?

17 trang web cho thực hành SQL..
Sqlzoo.Trang mạng.SQLZOO là một trang web phổ biến để thực hành SQL.....
Sql fiddle.Trang mạng.SQL Fiddle là một trang web phổ biến để nhanh chóng tạo cơ sở dữ liệu mẫu và viết mã SQL trên chúng.....
DB-Fiddle.Trang mạng.....
Dbfiddle.Trang mạng.....
Bolt SQL.Trang mạng.....
Oracle Live SQL.Trang mạng.....
W3Schools.Trang mạng.....
W3Resource.Trang mạng..