SQL tham gia bằng cách sử dụng WHERE hoặc ON – sql tham gia với đâu

Bài học này của hướng dẫn SQL để phân tích dữ liệu bao gồm sự khác biệt giữa việc lọc dữ liệu được kết hợp bằng cách sử dụng WHERE hoặc ON. BẬT lọc dữ liệu trước khi các bảng được kết hợp; WHERE lọc sau.

Bạn đang xem : tham gia sql với đâu

Bắt đầu từ đây? Bài học này là một phần của hướng dẫn sử dụng SQL cho Phân tích dữ liệu. Kiểm tra phần đầu .

Trong bài học này, chúng tôi sẽ đề cập đến:

Lọc trong mệnh đề BẬT

Thông thường, quá trình lọc được xử lý trong mệnh đề WHERE khi hai bảng đã được kết hợp với nhau . Có thể, mặc dù bạn có thể muốn lọc một hoặc cả hai bảng trước khi nối chúng. Ví dụ: bạn chỉ muốn tạo trận đấu giữa các bảng trong một số trường hợp nhất định.

Sử dụng dữ liệu Crunchbase , hãy cùng xem xét lại ví dụ về LEFT JOIN từ bài học trước (lần này chúng ta sẽ thêm < mã> ĐẶT HÀNG THEO mệnh đề):

  SELECT COMPANY.permalink AS company_permalink,
       company.name AS company_name,
       mua lại.company_permalink AS mua lại các liên kết_permalink,
       mua lại.acquired_at AS ngày mua lại
  TỪ các công ty hướng dẫn.crunchbase_companies
  LEFT JOIN tutorial.crunchbase_acquisitions mua lại
    TRÊN CÔNG TY.permalink = mua lại.company_permalink
 ĐẶT HÀNG THEO 1
 

So sánh truy vấn sau với truy vấn trước đó và bạn sẽ thấy rằng mọi thứ trong bảng tutorial.crunchbase_acquisitions đã được kết hợp trên ngoại trừ cho hàng mà company_permalink '/ company / 1000memories' :

  SELECT COMPANY.permalink AS company_permalink,
       company.name AS company_name,
       mua lại.company_permalink AS mua lại các liên kết_permalink,
       mua lại.acquired_at AS ngày mua lại
  TỪ các công ty hướng dẫn.crunchbase_companies
  LEFT JOIN tutorial.crunchbase_acquisitions mua lại
    TRÊN CÔNG TY.permalink = mua lại.company_permalink
   VÀ mua lại.company_permalink! = '/ Company / 1000memories'
 ĐẶT HÀNG THEO 1
 

Điều đang xảy ra ở trên là câu lệnh điều kiện AND ... được đánh giá trước khi phép nối xảy ra. Bạn có thể coi nó như một mệnh đề WHERE chỉ áp dụng cho một trong các bảng. Bạn có thể biết rằng điều này chỉ xảy ra ở một trong các bảng vì liên kết cố định 1000 lần vẫn được hiển thị trong cột kéo từ bảng khác:

Lọc trong mệnh đề WHERE

Nếu bạn di chuyển cùng một bộ lọc sang mệnh đề WHERE , bạn sẽ nhận thấy rằng bộ lọc xảy ra sau khi các bảng được nối với nhau. Kết quả là hàng 1000memories được nối vào bảng gốc, nhưng sau đó nó được lọc ra hoàn toàn (trong cả hai bảng) trong mệnh đề WHERE trước khi hiển thị kết quả.

  SELECT COMPANY.permalink AS company_permalink,
       company.name AS company_name,
       mua lại.company_permalink AS mua lại các liên kết_permalink,
       mua lại.acquired_at AS ngày mua lại
  TỪ các công ty hướng dẫn.crunchbase_companies
  LEFT JOIN tutorial.crunchbase_acquisitions mua lại
    TRÊN CÔNG TY.permalink = mua lại.company_permalink
 WHERE opensitions.company_permalink! = '/ Company / 1000memories'
    HOẶC mua lại.company_permalink LÀ KHÔNG CÓ
 ĐẶT HÀNG THEO 1
 

Bạn có thể thấy rằng dòng 1000 kỷ niệm không được trả lại (nó sẽ nằm giữa hai dòng được đánh dấu bên dưới). Cũng xin lưu ý rằng việc lọc trong mệnh đề WHERE cũng có thể lọc các giá trị rỗng, vì vậy chúng tôi đã thêm một dòng bổ sung để đảm bảo bao gồm các giá trị rỗng.

Xem Thêm  C ++ Getters and Setters: Hướng dẫn Đơn giản để Sử dụng Chức năng này - getter và setter trong c ++ là gì

Nâng cao kỹ năng SQL của bạn

Đối với tập hợp các vấn đề thực hành này, chúng tôi sẽ giới thiệu tập dữ liệu mới: tutorial.crunchbase_investments . Bảng này cũng được lấy từ Crunchbase và chứa nhiều thông tin giống như tutorial.crunchbase_companiesdữ liệu . Tuy nhiên, nó có cấu trúc khác nhau: nó chứa một hàng cho mỗi khoản đầu tư. Mỗi công ty có thể có nhiều khoản đầu tư — thậm chí có thể một nhà đầu tư có thể đầu tư nhiều lần vào cùng một công ty. Tên cột khá dễ hiểu. Điều quan trọng là company_permalink trong bảng tutorial.crunchbase_investments ánh xạ thành permalink trong bảng tutorial.crunchbase_companies . Hãy nhớ rằng một số dữ liệu ngẫu nhiên đã bị xóa khỏi bảng này vì lợi ích của bài học này.

Rất có thể bạn sẽ cần thực hiện một số phân tích khám phá trên bảng này để hiểu cách bạn có thể giải quyết các vấn đề sau.

Vấn đề Thực hành

Viết một truy vấn hiển thị tên công ty, “trạng thái” (được tìm thấy trong bảng Công ty) và số lượng nhà đầu tư duy nhất trong công ty đó. Thứ tự theo số lượng nhà đầu tư từ nhiều nhất đến ít nhất. Giới hạn chỉ cho các công ty ở bang New York.

Hãy dùng thử
Xem câu trả lời

Vấn đề Thực hành

Viết một truy vấn liệt kê các nhà đầu tư dựa trên số lượng công ty mà họ được đầu tư. Bao gồm một hàng cho các công ty không có nhà đầu tư và đặt hàng từ hầu hết các công ty đến ít nhất.

Hãy dùng thử
Xem câu trả lời


Xem thêm những thông tin liên quan đến chủ đề sql tham gia với đâu

Transactions in SQL

  • Tác giả: Internet Services and Social Networks Tutorials from HowTech
  • Ngày đăng: 2013-05-31
  • Đánh giá: 4 ⭐ ( 6308 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Follow this tutorial to learn how to use Transactions in SQL and see how we can roll back to previous changes done in database.

    Don’t forget to check out our site http://howtech.tv/ for more free how-to videos!
    http://youtube.com/ithowtovids – our feed
    http://www.facebook.com/howtechtv – join us on facebook
    https://plus.google.com/103440382717658277879 – our group in Google+

    A transaction in SQL is basically the process of one or more changes being made in the database.
    In this tutorial we will learn the three basic controls of transactions in SQL which are COMMIT, ROLLBACK, and SAVEPOINT

    Step 1- Commit Command
    The Commit command is used to save the changes made in the database. To see its implementation, start by first beginning the transaction.
    Before starting any Transaction in SQL, we have to write the Begin Transaction statement. After that, write the actual action which is required, for example delete from the employee table, where the salary is greater than $2500.
    After that, write the Commit keyword which confirms that the query is logically correct and can be executed.
    The Query in this case would be:
    begin trandelete from EMP
    where SAL 2500
    commit

    Now when we run the query, a message appears below the Query Editor which shows the number of rows that have been affected by our query.

    Step 2- Effect of Commit Command
    After that, fetch all the records from the employee table and it can be seen that all the records which have a salary above $2500 have been deleted.

    Step 3- Save Points
    Now let’s examine the SAVE POINT command. To understand the concept, we will take an example of a departmental table.
    Start writing the query by beginning a transaction and then entering in the “Save Transaction” command followed by the transaction name.
    After that, let’s delete a record with the Department number as 10 and then again save the transaction. This time, define the save point as point2.
    With that done, delete another department, and save the transaction, defining it as point3.
    Actual Query would be like this:
    begin tran
    save tran point1

    delete from DEPT
    where DEPTNO=10
    save tran point2
    delete from DEPT
    where DEPTNO=20
    save tran point3
    After executing it, 2 rows would get affected.

    Step 4- Departments Deleted
    Now, see the department table to view the changes. For that, let’s fetch all the records from the table. It can be seen that department “10” and “20” has been deleted from the table.

    Step 5- Roll Back
    If we want to track back to the previous changes, we can use the save points created earlier along with the Rollback transaction command.
    The rollback transaction allows us to remove all the modifications made to the data, either from the start of the transaction or to a defined save point.
    For that, we will use the rollback transaction statement and define the save point after that. Over here, let’s roll back to point number 2.
    The Query would be:
    rollback tran point2
    select * from DEPT
    Once we execute the query, and fetch all the records from the table, it can be seen that the table now contains the data up till point number 2 in the query.

    And this is how we can use Transactions in SQL.

Cấu tạo database trong SQL Server

  • Tác giả: hoatuoibattu.vn
  • Đánh giá: 4 ⭐ ( 3859 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Câu lệnh tạo database đơn giản nhất có cú pháp như sau

Ở đâu so với tham gia SQL?

  • Tác giả: presbyteryofstockton.org
  • Đánh giá: 4 ⭐ ( 7414 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Mệnh đề SELECT cho chúng ta biết những gì chúng ta đang nhận lại; mệnh đề FROM cho chúng ta biết chúng ta đang lấy nó từ đâu và mệnh đề WHERE cho chúng ta biết chúng ta đang nhận được cái nào. JOIN là một tuyên bố về các bảng, cách chúng được liên kết với nhau (về mặt khái niệm, trên thực tế, thành một bảng duy nhất).

Sql là gì? 6 lý do tại sao bạn nên học SQL

  • Tác giả: topdev.vn
  • Đánh giá: 5 ⭐ ( 6970 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: SQL là gì?  SQL là gì? Đó là viết tắt của Structured Query Language là ngôn ngữ truy vấn có cấu trúc. Nó là một ngôn ngữ, là tập hợp các lệnh để tương tác

Phân tích dữ liệu với SQL và Google Data Studio

  • Tác giả: www.bacs.vn
  • Đánh giá: 3 ⭐ ( 3421 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Truy vấn cơ sở dữ liệu là gì? Tất tần tật về ngôn ngữ SQL đều nằm trong bài viết này

  • Tác giả: itviec.com
  • Đánh giá: 3 ⭐ ( 5233 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Muốn biết truy vấn cơ sở dữ liệu là gì, SQL là gì, SQL Server là gì, chỉ cần đọc mỗi một bài viết này là đã đủ thông tin.

SQL và Excel trong phân tích dữ liệu: Đâu là sự khác biệt! »

  • Tác giả: inda.vn
  • Đánh giá: 4 ⭐ ( 3030 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Các lớp và đối tượng trong Python [Với các ví dụ] - các lớp và đối tượng python