sql >> Database teknologi >  >> RDS >> Mysql

Vælg fra en tabel, hvor ikke i en anden

Ved at udvide på Sjoerds anti-sammenføjning kan du også bruge den letforståelige SELECT WHERE X NOT IN (SELECT) mønster.

SELECT pm.id FROM r2r.partmaster pm
WHERE pm.id NOT IN (SELECT pd.part_num FROM wpsapi4.product_details pd)

Bemærk, at du kun behøver at bruge ` backticks på reserverede ord, navne med mellemrum og sådan, ikke med normale kolonnenavne.

På MySQL 5+ kører denne form for forespørgsel ret hurtigt.
På MySQL 3/4 er det langsomt.

Sørg for, at du har indekser på de pågældende felter
Du skal have et indeks på pm.id , pd.part_num .



  1. Indrullering af SQL Server i en distribueret XA-transaktion

  2. Hvordan skriver man en case-ufølsom forespørgsel til både MySQL og Postgres?

  3. SQL Server-fejl 113:Manglende slutkommentarmærke '*/'

  4. Laravel-migreringsfejl:Syntaksfejl eller adgangsovertrædelse:1071 Den angivne nøgle var for lang; max nøglelængde er 767 bytes