تالار گفتمان nCIS.ir

نسخه‌ی کامل: query رکورد هایی که ارتباط ندارند
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام

من دوتا جدول دارم که بصورت چند به چند توسط یک جدول واسط به هم متصل هستن می خواستم از هر کدوم از جدول ها رکورد هایی رو پیدا کنم که ارتباط ندارند به اون یکی رکورد ها در اون یکی جدول
دو راه وجود داره. راه اول بدون Subquery هست:
SELECT * 
FROM `main_table` `m`
LEFT OUTER JOIN `related_table` `r`
ON (`m`.`id` = `r`.`foreign_key_id`)
WHERE `r`.`foreign_key_id` IS NULL;

راه دوم از Subquery استفاده میکنه:
SELECT * 
FROM `main_table` `m`
WHERE NOT EXISTS (
    SELECT * FROM `related_table` `r` 
    WHERE `r`.`foreign_key_id` = `m`.`id` 
);