आप सबक्वेरी से सीधे डिलीट नहीं कर सकते हैं, लेकिन यदि आप चाहें तो आप अभी भी इसका उपयोग कर सकते हैं, आपको बस इसे JOIN
में उपयोग करने की आवश्यकता होगी :
DELETE usrs
FROM usrs
INNER JOIN (
SELECT * FROM usrs WHERE name = 'john'
) t ON usrs.Id = t.Id
या आप IN
. का उपयोग कर सकते हैं :
DELETE usrs
WHERE ID IN (
SELECT ID
FROM usrs
WHERE name = 'John'
)
इसके साथ ही, इस उदाहरण के लिए, मुझे नहीं पता कि आप एक सबक्वायरी क्यों चाहते हैं:
DELETE usrs WHERE name = 'John'
टिप्पणियों के आधार पर संपादित करें। एक ही समय में एकाधिक तालिकाओं से हटाने के लिए, आपके पास एकाधिक DELETE
हो सकते हैं कथन, या आप निम्न की तरह कुछ उपयोग कर सकते हैं:
delete t1, t2, t3
from (select 'john' as usr) t
left join t1 on t.usr=t1.usr
left join t2 on t.usr=t2.usr
left join t3 on t.usr=t3.usr