Ich bin zur Zeit an der Universität und ein Projekt zu tun, wo ich Fragen haben, wie:Effiziente SQL-Abfrage mit mehreren wählt
Select * from recent_purchases where customer_id in
( select customer_id from
customers where name like '%john%'
)
Ich bin nicht sicher, ob dies ist der idiomatische Weg, Dinge zu tun, oder wenn Ich vermisse die "richtige" Art, es zu tun - es fühlt sich sicherlich etwas klobig an. Ich verstehe Joins noch nicht wirklich. Entschuldigung, wenn eine dumme Frage.
Wahrscheinlich wollen Sie hier JOIN (um genauer zu sein, eine innere Verknüpfung) https://en.wikipedia.org/wiki/Join_ (SQL) – jarlh
Ich weiß, dass ich viel Feuer in meine Richtung lade, aber ich stimme nicht mit denen überein, die den Benutzer von JOIN vorschlagen. Ihre Anfrage ist OK für dieses spezielle einfache Bedürfnis und, leistungsmäßig, ich denke, wird das beste Ergebnis geben. Sie müssten JOIN für viel komplexere Abfragen in Betracht ziehen, deren Formulierung mit Ihrem einfachen Stil ein Albtraum wäre. Dies ist eine persönliche Meinung, der viele Menschen nicht zustimmen würden. Bis zu Ihnen zu wählen (und zu überprüfen, wenn Sie es wünschen). – FDavidov
AFAIK, mehrere dbms-Produkte optimieren Joins besser als das IN. – jarlh