sql >> Database >  >> RDS >> Mysql

Een andere manier om de SQL-query te verbeteren om unie te voorkomen?

Wat je ook kiest, houd er rekening mee dat korte code niet altijd optimale code is. In veel gevallen, waar je voldoende uiteenlopende logica hebt, is het samenvoegen van de resultaten echt de meest optimale (en soms meest zuivere, programmatische) optie.

Dat gezegd hebbende, de volgende OR in de WHERE-clausule lijkt beide gevallen te dekken...

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. Onderhoudstaken voor SQL-databases automatiseren met SQLCMD

  2. Een AWS Postgres RDS-tabel exporteren naar AWS S3

  3. Hoe gegevens van een tabel uit een andere database in SQL Server selecteren?

  4. Mysql - jaar selecteren uit een Unix-tijdstempel