sql - MySQL query - show results that are not in another table -
मेरे पास एक क्वेरी है:
SELECT lesson.id, p1.first_name, P1.surname, start_time, instrument.name सबक से, व्यक्ति के रूप में पी 1, व्यक्ति ए पी 2, लिखत, इनवॉइस_अथोन कहां पाठ। विषय = p1.id और पाठ। टीचर = p2.id और instrument.id = lesson.instrument_id आदेश द्वारा उपनाम
हालांकि, मैं इसे संशोधित करना चाहूंगा ताकि यह केवल परिणाम दिखाएगा जहां lesson.id
तालिका में नहीं है invoice_lesson.lesson_id
। क्या यह एक सहसंबद्ध क्वेरी है? मैं यह कैसे कर सकता हूं?
आप इसे बाहरी सहभागी से कर सकते हैं:
SELECT lesson.id, p1.first_name, p1.surname, start_time, instrument.name सबम से I JOIN व्यक्ति p1 ON l.student = p1.id JOIN व्यक्ति P2 ON l.teacher = p2.id I पर i.id = l.instrument_id LEFT JOIN इनवॉइस_अथान आईएल ON l.id = IL.lesson_id WHERE IL.lesson_id नाम से उपनाम है
यह दृष्टिकोण सहसंबद्ध subquery से बहुत तेज हो जाएगा दृष्टिकोण।
Comments
Post a Comment