Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để tìm mối quan hệ giữa các bảng có liên quan đến khoảng cách dài? MySQL

Bảng đại diện cho các mối quan hệ / hiệp hội kinh doanh. "Mối quan hệ [ship] s" mà bạn đề cập là FK (khóa ngoại) và không cần thiết để truy vấn. Họ nói rằng giá trị con cho một số cột cũng phải là giá trị con cho một số cột chính. Điều cần thiết là biết một hàng nói gì về tình hình kinh doanh hiện tại khi nó nằm trong một bảng. (Trong đó, với những tình huống phát sinh, hãy xác định FK và các ràng buộc khác.)

Từ Bắt buộc phải tham gia 2 bảng với FK của chúng trong một bảng thứ 3 :

Vì vậy, đã đưa ra

-- rows where product [id_product] is supplied by [id_supplier] ...
ps_product(id_product, id_supplier, ...)
-- rows where carrier [id_carrier] has reference [id_reference] ...
ps_carrier(id_carrier, id_reference, ....)

chúng tôi viết

    ps_product s
JOIN ...
ON s.id_product = ...
...
JOIN ps_carrier c
ON ... = id_carrier
WHERE ...

để lấy các hàng ở đó

    product [p.id_product] is supplied by [p.id_supplier] ...
AND ...
AND s.id_product = ...
...
AND carrier [c.id_carrier] has reference [c.id_reference] ...
AND ... = id_carrier
AND ...

Bạn cần biết các vị từ trong bảng của mình, sau đó THAM GIA các bảng với nhau các điều kiện BẬT hoặc Ở ĐÂU để vị từ kết quả dành cho các hàng bạn muốn quay lại.

Có quy tắc chung nào để tạo truy vấn SQL từ mô tả mà con người có thể đọc được không?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các phương pháp hay nhất trong PHP và MySQL với chuỗi quốc tế

  2. Ngăn dữ liệu trùng lặp được nhập vào cơ sở dữ liệu mysql

  3. Mysql_insert_id có an toàn để sử dụng không?

  4. Danh sách các ràng buộc từ Cơ sở dữ liệu MySQL

  5. Làm cách nào để sử dụng mệnh đề LIKE trong câu lệnh do PDO chuẩn bị?