यह लिंक उपयोगी पाया गया
वहां से नकल की गई
अक्सर, एक तालिका में मापदंड के आधार पर एक तालिका से कुछ रिकॉर्ड हटाना चाहता है। आप दोनों तालिका में रिकॉर्ड को हटाए बिना उन तालिकाओं में से एक को कैसे हटा सकते हैं?
DELETE DeletingFromTable
FROM DeletingFromTable INNER JOIN CriteriaTable
ON DeletingFromTable.field_id = CriteriaTable.id
WHERE CriteriaTable.criteria = "value";
कुंजी यह है कि आप तालिका के नाम को सेलेक्ट के रूप में हटा सकते हैं । तो, जोइन और जहां चयन और सीमित करते हैं, जबकि DELETE डिलीट करता है। आप सिर्फ एक टेबल तक सीमित नहीं हैं, हालांकि। यदि आपके पास कई-से-कई संबंध हैं (उदाहरण के लिए, पत्रिका और सब्सक्राइबर, एक सदस्यता से जुड़े हुए) और आप एक सब्सक्राइबर को निकाल रहे हैं, तो आपको जॉइन मॉडल से किसी भी संभावित रिकॉर्ड को हटाने की आवश्यकता है।
DELETE subscribers, subscriptions
FROM subscribers INNER JOIN subscriptions
ON subscribers.id = subscriptions.subscriber_id
INNER JOIN magazines
ON subscriptions.magazine_id = magazines.id
WHERE subscribers.name='Wes';
किसी ज्वाइन के साथ रिकॉर्ड हटाना भी LEFT JOIN और WHERE के साथ किया जा सकता है यह देखने के लिए कि ज्वाइन टेबल NULL था या नहीं, ताकि आप एक ऐसे टेबल में रिकॉर्ड हटा सकें जिसमें मैच नहीं था (जैसे संबंध जोड़ने की तैयारी में। ) उदाहरण पोस्ट आने के लिए।