Làm cách nào để bạn chọn dữ liệu từ một bảng? Làm cách nào để bạn chọn dữ liệu từ hai hoặc nhiều bảng? Đọc bài viết này để tìm hiểu.

Bạn đang xem : cách kết nối hai bảng

Truy vấn dữ liệu từ nhiều bảng rất phổ biến khi làm việc với cơ sở dữ liệu quan hệ. Sẽ không khó nếu bạn biết cách sử dụng các toán tử SQL chuyên dụng để thực hiện việc này. Trong bài viết này, bạn sẽ học cách nối hai bảng bằng cách sử dụng WHERE và bằng cách sử dụng toán tử đặc biệt JOIN, đồng thời bạn sẽ thấy cách lọc các hàng trong tập kết quả.

Nếu bạn muốn thực hành nối các bảng trong SQL, hãy xem khóa học SQL JOINs tương tác của chúng tôi. Nó cung cấp hơn 90 bài tập thực hành về các loại THAM GIA khác nhau. Để biết thêm các khóa học thực hành SQL, hãy xem theo dõi Thực hành SQL của chúng tôi.

Cách truy vấn một bảng duy nhất

Đầu tiên, hãy cập nhật nhanh về cách chọn dữ liệu từ một bảng. Hãy xem xét bảng sau, product :

idnameprice

1 Đồng hồ thông minh Erin234,00

2Smartwatch Sun455.00

3Smartband Eli300.00

4Smartband White124.00

Để chọn dữ liệu từ tất cả các cột và từ tất cả các hàng trong bảng này, bạn có thể sử dụng truy vấn:

CHỌN id, tên, giá
TỪ sản phẩm;

Trong truy vấn đơn giản này, tên của các cột mà bạn muốn truy xuất dữ liệu được liệt kê sau SELECT . Tiếp theo là từ khóa FROM và tên của bảng nơi lưu trữ dữ liệu.

Bạn cũng có thể lọc các hàng để chỉ trả lại các bản ghi phù hợp với tiêu chí đã cho. Hãy xem đoạn mã SQL sau:

CHỌN tên, giá
TỪ sản phẩm
GIÁ TẠI ĐÂU & lt; 250,00;

Trong trường hợp này, tập kết quả chỉ bao gồm hai hàng với các cột name price :

bảng tên

Đồng hồ thông minh Erin234.00

Smartband White124.00

Các cột được liệt kê sau SELECT , sau đó từ khóa FROM giúp chỉ định bảng mà bạn truy xuất dữ liệu từ đó. Ở cuối truy vấn, từ khóa WHERE được theo sau bởi điều kiện lọc. Trong ví dụ này, điều kiện so sánh giá trị trong cột price với 250,00. Truy vấn chỉ trả về thông tin chi tiết về một sản phẩm nếu giá của sản phẩm đó dưới 250.00.

Truy vấn dữ liệu từ nhiều bảng bằng WHERE

Cơ sở dữ liệu quan hệ được xây dựng với nhiều bảng tham chiếu đến nhau. Các hàng từ một bảng tham chiếu đến các hàng cụ thể trong một bảng khác, được kết nối bởi một số cột ID. Bây giờ chúng ta sẽ xem xét cách kết hợp dữ liệu từ một bảng với dữ liệu từ một bảng khác.

Xem xét hai bảng sau, product category , trong cơ sở dữ liệu về các sản phẩm trong kho:

sản phẩm

idproduct_namepricecategory_id

1smartwatch235.002

2bricks26.703

3lamp128,002

4sofa3200.001

5 điểm1350,001

6 sức mạnh dải 29,002

danh mục

idcategory_name

1 đồ nội thất

2 điện tử

3toys

Xem Thêm  Cách tạo danh sách không có thứ tự mà không có dấu đầu dòng - html danh sách không có thứ tự không có dấu đầu dòng

Giả sử bạn cần một số thông tin chi tiết từ cơ sở dữ liệu kho hàng này, chẳng hạn như tên của sản phẩm, giá cả và danh mục tương ứng của chúng. Bạn có thể nối các hàng từ bảng product với các hàng từ bảng category bằng cách sử dụng mệnh đề WHERE. Hãy xem truy vấn bên dưới:

CHỌN product.product_name, product.price, category.category_name
TỪ sản phẩm, danh mục
WHERE product.category_id = category.id;

Đây là tập hợp kết quả:

product_namepricecategory_name

đồng hồ thông minh 235.00 điện tử

gạch 26,70toys

đèn128.00 điện tử

sofa3200.00furniture

bàn1350.00furniture

dải điện 29,00 điện tử

SELECT trong truy vấn này liệt kê các cột từ cả hai bảng: product_name price từ product bảng và category_name từ bảng category . Mỗi tên cột được đặt trước tên của bảng tương ứng, được phân tách bằng dấu chấm.

Tiếp theo, tên của các bảng được liệt kê sau từ khóa FROM , được phân tách bằng dấu phẩy.

Phần cuối cùng của truy vấn này là WHERE, với một điều kiện chỉ định cách nối các hàng từ cả hai bảng. Tại đây, các giá trị của cột category_id từ bảng product tương ứng với các giá trị trong id cột từ bảng danh mục và các hàng được nối khi các giá trị bằng nhau ( product.category_id = category.id ). Đồng hồ thông minh trong bảng product có ID danh mục là 2. Giá trị giống nhau trong cột id trong bảng danh mục trỏ đến “đồ điện tử” được tô màu xanh lục ở trên.

Nếu có các cột trùng tên trong cả hai bảng, chúng cần được phân biệt khi bạn đặt tên chúng trong SELECT . Bạn thực hiện việc này bằng cách đặt tên cho bảng, theo sau là dấu chấm rồi đến tên của cột. Tuy nhiên, trong ví dụ của chúng tôi, các bảng có các tên cột khác nhau và không có điểm chung. Chúng tôi có thể chỉ sử dụng tên cột trong SELECT mà không cần chỉ định chúng đến từ bảng nào, như trong truy vấn bên dưới:

CHỌN product_name, price, category_name
TỪ sản phẩm, danh mục
WHERE product.category_id = category.id;

Sử dụng WHERE là một cách để truy vấn dữ liệu từ nhiều bảng. Nó là một tiêu chuẩn SQL cũ hơn; trong khi nó vẫn còn, nó ít được sử dụng nữa. Trong phần tiếp theo, chúng ta sẽ xem xét một phương pháp khác.

Truy vấn dữ liệu từ nhiều bảng bằng cách sử dụng JOIN

Ngày nay, phương pháp phổ biến nhất để kết hợp dữ liệu từ nhiều bảng là sử dụng toán tử đặc biệt JOIN , còn được gọi là INNER JOIN . Để xem nó hoạt động như thế nào, chúng tôi sẽ sử dụng hai bảng giống nhau từ cơ sở dữ liệu kho mà bạn có thể tìm thấy bên dưới để thuận tiện.

sản phẩm

idnamepricecategory_id

1smart watch235.002

2bricks26.703

3lamp128,002

4sofa3200.001

5 điểm1350,001

6 sức mạnh dải 29,002

danh mục

idname

1 đồ nội thất

2 điện tử

3toys

Hãy xem truy vấn sau, truy vấn này chỉ định danh mục từ bảng category cho từng tên sản phẩm trong bảng product > .

LỰA CHỌN
  product.name AS product_name,
  category.name AS category_name
TỪ sản phẩm
THAM GIA danh mục TRÊN product.category_id = category.id;

Việc kết hợp được thực hiện bởi toán tử JOIN . Trong mệnh đề FROM , tên của bảng đầu tiên ( product ) được theo sau bởi từ khóa JOIN , sau đó là tên của bảng thứ hai ( category ). Tiếp theo là từ khóa ON và điều kiện để nối các hàng từ các bảng khác nhau. Tên danh mục được chỉ định dựa trên cột id của bảng category , tương đương với category_id trong bảng product ( product.category_id = category.id ).

Đây là tập hợp kết quả:

product_namecategory_name

đồng hồ điện tử thông minh

gạch

đèn điện tử

ghế sofa

bàn làm việc

dải điện

Đồng hồ thông minh có giá trị category_id là 2. Trong id cột của bảng category , giá trị 2 được liên kết với thiết bị điện tử , vì vậy đồng hồ thông minh được gán cho thiết bị điện tử.

Sử dụng toán tử JOIN là phương pháp phổ biến nhất để kết hợp nhiều bảng trong cơ sở dữ liệu. Trong bài viết "Hướng dẫn minh họa cho SQL INNER JOIN" , tôi sẽ thảo luận thêm về toán tử này. Bài viết " SQL INNER JOIN được giải thích bằng các từ đơn giản " cũng đi sâu vào chủ đề này hơn nữa. Như đã đề cập trước đó, toán tử INNER JOIN tương đương với JOIN ; bạn có thể sử dụng chúng thay thế cho nhau.

Chọn dữ liệu từ các bảng bằng cách sử dụng JOIN và WHERE

Sử dụng toán tử JOIN để truy xuất dữ liệu từ nhiều bảng cũng cho phép lọc tập kết quả dễ dàng hơn. Hãy xem truy vấn sau, là một biến thể của truy vấn trước đó và dựa trên cùng một dữ liệu:

LỰA CHỌN
  product.name AS product_name,
  category.name AS category_name
TỪ sản phẩm
THAM GIA danh mục TRÊN product.category_id = category.id
WHERE category.name! = ’Toys’;

Đây là kết quả:

product_namecategory_name

đồng hồ điện tử thông minh

đèn điện tử

ghế sofa

bàn làm việc

dải điện

Phần đầu tiên của truy vấn này giống với phần cuối cùng. Tuy nhiên, trong truy vấn này, các sản phẩm thuộc danh mục “đồ chơi” bị loại trừ. Chúng tôi lọc các hàng trong tập hợp kết quả bằng cách sử dụng mệnh đề WHERE để kiểm tra xem danh mục có phải là "đồ chơi" ( category.name! = 'Toys' ) hay không. < / p>

Để biết thêm về thực hành JOIN trong SQL, tôi mời bạn xem khóa học SQL JOINs thực hành của chúng tôi, đọc bài viết " Cách thực hành SQL JOIN " hoặc xem video " SQL JOIN Basics " video trong loạt bài “Chúng tôi học SQL” .

Ngoài ra còn có các toán tử JOIN khác. Ngoài JOIN hoặc INNER JOIN , còn có LEFT JOIN , RIGHT JOIN FULL JOIN các toán tử . Đọc thêm về chúng trong “SQL JOIN dành cho người mới bắt đầu” . Để biết thêm về thực hành SQL, hãy xem bài học Thực hành SQL của chúng tôi.

Nối các bảng trong SQL

Chúng tôi đã thấy cách bạn có thể truy xuất chi tiết đầy đủ về các đối tượng bằng cách kết hợp nhiều bảng tham chiếu đến nhau trong cơ sở dữ liệu quan hệ. Bạn có thể thực hiện điều này bằng cách sử dụng WHERE hoặc bằng cách sử dụng JOIN . Để biết thêm về sự khác biệt giữa các phương pháp này, tôi giới thiệu một bài viết rất thú vị, "Sự khác biệt giữa Có nhiều bảng trong FROM và sử dụng JOIN? ”.

Ở đây, tôi chỉ cho bạn một cái nhìn sơ lược về chủ đề này, vì vậy hãy tiếp tục học hỏi!


Xem thêm những thông tin liên quan đến chủ đề làm thế nào để kết nối hai bảng

Cách nối bảng biểu tách làm hai trang - GVTH

  • Tác giả: GVTH
  • Ngày đăng: 2021-01-24
  • Đánh giá: 4 ⭐ ( 4358 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Cách nối bảng biểu tách làm hai trang, cach noi bang bieu tach lam hai trang, lỗi word, cách nối,
    Hướng dẫn sửa lỗi trống trang, nối bảng trong word, cách gộp, tách và xóa ô, cột bảng trong word,
    sửa lỗi nhảy trang,
    lỗi trống trang,
    sửa lỗi nhảy trang trong word,
    lỗi nhảy trang trong word, word,
    GVTH, gvth, GVTH, giáo viên tiểu học, chúng tôi là giáo viên tiểu học,

Làm thế nào để kiểm tra bảng Arduino của tôi đang hoạt động hay đã chết?

  • Tác giả: qastack.vn
  • Đánh giá: 5 ⭐ ( 4828 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Lưu ý: Sau khi bình luận của @ Ricardo về bài viết cuối cùng của tôi,…

Làm thế nào để bạn kết nối hai màn hình?

  • Tác giả: vi.411answers.com
  • Đánh giá: 3 ⭐ ( 7486 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Để kết nối hai màn hình với một nguồn hiển thị duy nhất, bạn cần kết nối chúng với cạc đồ họa hỗ trợ nhiều đầu ra màn hình thông qua cáp VGA, DVI DisplayPort hoặc HDMI. Một khi màn hình ...

#1 Hướng dẫn cách sử dụng OneDrive toàn tập (từ A đến Z)

  • Tác giả: thuthuat.edu.vn
  • Đánh giá: 3 ⭐ ( 2316 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: ThuThuat.edu.vn vừa chia sẻ "Hướng dẫn cách sử dụng OneDrive toàn tập (từ A đến Z)" ✅ Đầy đủ thông tin chính xác nhất ✅ Xem Ngay Nhé !!!

Làm thế nào để liên kết dữ liệu trong Workbook Excel lại với nhau.

  • Tác giả: business.tutsplus.com
  • Đánh giá: 4 ⭐ ( 7761 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Khi bạn sử dụng và xây thêm workbook trong Excel, bạn sẽ cần liên kết chúng lại với nhau. Có thể bạn muốn viết những công thức sử dụng dữ liệu giữa các sheet khác nhau trong một workbook. Thậm...

Làm thế nào để kết nối hai bảng trong "Ngôi Lời" (2003, 2007, 2010)?

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

Làm cách nào để hợp nhất hai hoặc nhiều bảng thành một bảng dựa trên các cột chính?

  • Tác giả: vi.extendoffice.com
  • Đánh giá: 3 ⭐ ( 5268 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

By ads_php