Máy tínhLập trình

Khai thác SQL INNER JOIN: ví dụ về cú pháp và các tính năng

Phát triển bất kỳ cơ sở dữ liệu không chỉ bao gồm việc tạo ra và điền các bảng với các thông tin khác nhau, mà còn tiếp tục làm việc với dữ liệu. Để thực hiện một cách chính xác một loạt các nhiệm vụ ở sự lựa chọn của dữ liệu từ các bảng và báo cáo, sử dụng Select thiết kế tiêu chuẩn.

Lấy dữ liệu từ các bảng

Nếu chúng ta xem xét các vấn đề của sự lựa chọn dữ liệu hoặc việc xây dựng một báo cáo, bạn có thể xác định mức độ phức tạp của các hoạt động. Như một quy luật, khi giao dịch với nghiêm trọng (theo khối lượng) cơ sở dữ liệu, mà được hình thành, ví dụ, trong các cửa hàng trực tuyến hoặc các công ty lớn, lựa chọn dữ liệu không giới hạn trong một bảng duy nhất. Như một quy luật, mẫu có thể là từ một số lượng khá lớn các bảng không chỉ liên kết, mà còn lồng vào truy vấn / phụ truy vấn, mà làm cho các lập trình viên, tùy thuộc vào nhiệm vụ của mình. Đối với một mẫu của một bảng có thể sử dụng cấu trúc đơn giản nhất:

Select * from Person

nơi Người - tên của bảng mà bạn muốn thực hiện hồi dữ liệu.

Tuy nhiên, nếu bạn sẽ cần phải chọn dữ liệu từ nhiều bảng, một trong những thiết kế tiêu chuẩn có thể được sử dụng để tham gia nhiều bảng.

kết nối phương pháp bảng thêm

Nếu chúng ta xem xét việc sử dụng các cấu trúc như vậy ở cấp tiểu học, chúng ta có thể phân biệt các cơ chế sau để kết nối số lượng yêu cầu cho các bảng mẫu, cụ thể là:

  1. Điều hành Nội tham gia.
  2. Trái nối hay, nó là phương pháp ghi hình thứ hai, Left Outer Join.
  3. Chéo tham gia.
  4. Full tham gia.

Sử dụng toán tử tham gia bảng trong thực tế, bạn có thể học bằng cách xem xét việc sử dụng các câu lệnh SQL - Nội tham gia. Một ví dụ về việc sử dụng nó sẽ như sau:

Select * from Person

Nội tham gia Phân ngành trên Su_Person = Pe_ID

SQL Ngôn ngữ và Tham Nội Tham gia điều hành có thể được sử dụng không chỉ đối với việc kết hợp hai hoặc nhiều bảng, mà còn để kết nối các phụ truy vấn khác, tạo điều kiện rất nhiều công việc của nhà quản trị cơ sở dữ liệu, và, như một quy luật, có thể thúc đẩy đáng kể việc thực hiện, cấu trúc truy vấn phức tạp cụ thể.

Kết hợp dữ liệu trong dòng bảng bằng dòng

Nếu chúng ta xem xét các kết nối của một số lượng lớn các phụ truy vấn và dữ liệu lắp ráp thành một dòng bảng duy nhất của dòng, bạn cũng có thể sử dụng Liên minh các nhà khai thác và Liên minh tất cả.

Việc sử dụng các công trình này sẽ phụ thuộc vào các nhà phát triển để thiết lập mục tiêu và kết quả mà ông muốn đạt được cuối cùng.

Mô tả Nội Tham gia điều hành

Trong hầu hết các trường hợp, để kết hợp nhiều bảng trong ngôn ngữ SQL được sử dụng bởi Nội Tham gia điều hành. Mô tả Nội Tham gia trong SQL là khá dễ dàng để hiểu các lập trình viên trung bình người chỉ đang bắt đầu hiểu được cơ sở dữ liệu. Nếu chúng ta xem xét các mô tả về cơ chế hoạt động của cấu trúc này, chúng ta có được hình ảnh sau đây. Nhà điều hành logic như là một tổng thể được xây dựng trên qua và khả năng lấy mẫu chỉ dữ liệu mà là trong mỗi bảng trong truy vấn.

Nếu chúng ta nhìn vào loại công việc này về mặt giải thích đồ họa, chúng tôi có được SQL Nội Tham gia cấu trúc điều hành, một ví dụ trong số đó có thể được thể hiện qua sơ đồ sau:

Ví dụ, chúng ta có hai bảng, thể hiện bằng sơ đồ trong hình. Họ, đến lượt nó, có một số lượng khác nhau của các mục. Trong mỗi bảng có các trường có liên quan. Nếu chúng ta cố gắng giải thích công việc của các nhà điều hành trên cơ sở bản vẽ, kết quả trả về sẽ là một tập hợp các hồ sơ từ hai bảng, nơi các phòng đều có lĩnh vực kết nối với nhau trùng. Đơn giản chỉ cần đặt, truy vấn trả về chỉ các hồ sơ (trong bảng thứ hai), có dữ liệu là trong số một bảng.

Cú pháp của Inner Tham gia

Như đã đề cập trước đó, các nhà điều hành Inner Join, cụ thể là, cú pháp của nó, đơn giản một cách bất thường. Đối với việc tổ chức các mối quan hệ giữa các bảng bên trong một mẫu duy nhất là đủ để nhớ và sử dụng sơ đồ sau đây của việc xây dựng các nhà điều hành, được quy định tại một dòng duy nhất của phần mềm SQL-mã, cụ thể là:

  • Nội Tham gia [Bảng Tên] trên [a lĩnh vực then chốt của bảng mà kết nối] = [lĩnh vực trọng điểm cắm của bảng].

Đối với truyền thông trong tuyên bố này là chủ yếu được sử dụng phím bảng. Như một quy luật, trong nhóm các bảng lưu trữ thông tin về nhân viên, trước đây được mô tả Person Phân ngành và có ít nhất một kỷ lục tương tự. Vì vậy, xem xét kỹ hơn các nhà điều hành SQL Inner Join, một ví dụ trong số đó đã được chứng minh là sớm hơn một chút.

Mô tả VÍ DỤ và kết nối vào bảng mẫu âm thanh

Chúng tôi có một bảng Person, lưu giữ thông tin về tất cả các nhân viên làm việc trong công ty. Chỉ cần lưu ý rằng chìa khóa thạc sĩ của bảng là một lĩnh vực - Pe_ID. Chỉ cần vào nó và sẽ đi một bó.

Bảng Phân ngành thứ hai sẽ lưu trữ thông tin về cơ quan, trong đó nhân viên làm việc. Cô, đến lượt nó, được kết nối thông qua bảng Person lĩnh vực Su_Person. Điều này có nghĩa gì? Dựa trên giản đồ dữ liệu có thể nói rằng trong các đơn vị bảng cho mỗi bản ghi trong bảng "nhân viên" sẽ là thông tin về các bộ phận mà họ làm việc. Đó là thông tin liên lạc này và sẽ làm việc điều hành Nội tham gia.

Đối với việc sử dụng trực quan hơn của các nhà điều hành xem xét SQL Nội Tham gia (ví dụ về việc sử dụng nó cho một hoặc hai bảng). Nếu chúng ta xem xét ví dụ của cùng một bảng, sau đó tất cả là khá đơn giản:

Select * from Person

Nội tham gia Phân ngành trên Su_Person = Pe_ID

VÍ DỤ kết nối hai bảng và subquery

Khai thác SQL Inner Join, ví dụ trong số đó là sử dụng để lấy dữ liệu từ nhiều bảng có thể được sắp xếp theo cách thức trên, nó đang làm việc trên một biến chứng ít nguyên tắc. Làm phức tạp thêm của hai bảng. Ví dụ, chúng tôi có Khởi hành bảng lưu trữ thông tin về tất cả các phòng ban trong từng bộ phận. Trong bảng này ghi nhận số phận và số nhân viên, và phải được bổ sung bằng tên của dữ liệu mẫu của từng bộ phận. Nhìn về phía trước, nó là giá trị nói rằng bạn có thể sử dụng hai phương pháp để giải quyết vấn đề này.

Cách thứ nhất là để kết nối các bảng bộ phận để lấy mẫu. Tổ chức yêu cầu trong trường hợp này có thể thực hiện như sau:

Chọn Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name từ Person

Nội tham gia Phân ngành trên Su_Person = Pe_ID

Nội tham gia Khởi hành về Su_Depart = Dep_ID và Pe_Depart = Dep_ID

Phương pháp thứ hai của giải quyết vấn đề - là sử dụng một subquery trong đó không phải tất cả các dữ liệu sẽ được lựa chọn từ bảng bộ phận, nhưng chỉ cần thiết. Điều này trái ngược với phương pháp đầu tiên, nó sẽ làm giảm thời gian yêu cầu.

Chọn Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name từ Person

Nội tham gia Phân ngành trên Su_Person = Pe_ID

Bên tham gia (Chọn Dep_ID, Dep_Name, Pe_Depart từ Khởi hành) như T trên Su_Depart = Dep_ID và Pe_Depart = Dep_ID

Điều đáng chú ý là một sự sắp xếp như vậy có thể không phải lúc nào tăng tốc độ theo yêu cầu công việc. Đôi khi có những trường hợp khi nó là cần thiết để sử dụng một dữ liệu mẫu thêm vào một bảng tạm thời (nếu khối lượng quá lớn), và sau đó nó được kết hợp với các mẫu chính.

Ví dụ về sử dụng Inner Tham gia vận hành các mẫu từ một số lượng lớn các bảng

Việc xây dựng liên quan đến việc sử dụng các truy vấn phức tạp cho một lượng đáng kể mẫu của bảng dữ liệu và truy vấn con kết nối với nhau. Những yêu cầu này có thể đáp ứng SQL Nội Tham cú pháp. Ví dụ về việc sử dụng các nhà điều hành, trong trường hợp này có thể phức tạp không chỉ mẫu trong những nơi lưu trữ nhiều, nhưng cũng có một số lượng lớn các truy vấn con lồng nhau. Đối với một ví dụ cụ thể, bạn có thể lấy dữ liệu từ một mẫu của bảng hệ thống (Inner Tham gia câu lệnh SQL). Ví dụ - 3 của bảng - trong trường hợp này sẽ có một cấu trúc khá phức tạp.

Trong trường hợp này kết nối (bảng chính) và ba giới thiệu thêm một số điều kiện lựa chọn dữ liệu.

Khi sử dụng Inner Tham gia điều hành nên nhớ rằng phức tạp hơn các truy vấn, còn nó sẽ được thực hiện, vì vậy bạn nên tìm cách để nhanh hơn thực hiện và giải quyết vấn đề.

phần kết luận

Cuối cùng, tôi muốn nói một điều: làm việc với cơ sở dữ liệu - nó không phải là điều khó khăn nhất trong lập trình, vì vậy nếu bạn muốn mọi người duy nhất sẽ có thể tiếp thu kiến thức để xây dựng một cơ sở dữ liệu, và theo thời gian, đạt được kinh nghiệm, bạn có thể làm việc với họ về trình độ chuyên môn .

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 vi.delachieve.com. Theme powered by WordPress.