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

Một cách khác để cải thiện Truy vấn SQL để tránh liên hợp?

Dù bạn chọn gì, hãy lưu ý rằng mã ngắn không phải lúc nào cũng là mã tối ưu. Trong nhiều trường hợp, khi bạn có đủ logic phân kỳ, việc thống nhất các kết quả thực sự là lựa chọn tối ưu nhất (và đôi khi rõ ràng nhất, theo chương trình).

Điều đó nói rằng, câu OR trong mệnh đề WHERE sau đây dường như bao hàm cả hai trường hợp của bạn ...

SELECT DISTINCT
  shops.*,
  DA.delivery_cost,
  DA.postcode AS AreaPostcode
FROM
  shops
INNER JOIN
  shops_delivery_area as DA
    ON (DA.shop_id = shops.id)
WHERE
  (DA.postcode = "Liverpool")
OR
  (DA.postcode = shops.postcode AND shops.location = "Liverpool")


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Plugin xác thực 'caching_sha2_password' không được hỗ trợ

  2. PHP - Nhập tệp CSV vào cơ sở dữ liệu mysql bằng cách sử dụng TẢI THÔNG TIN DỮ LIỆU

  3. Hướng dẫn thiết kế cơ sở dữ liệu cho hệ thống quản lý nhân viên trong MySQL

  4. Mã API đầu tiên của bạn với Node.js và Express:Kết nối cơ sở dữ liệu

  5. MySQL Trigger:Xóa khỏi bảng SAU KHI XÓA