Middle
SQL-ის სვეტით დაწერეთ: მომხმარებლების (clients) და შავი სიას (blacklist) ცხრილები არსებობს და მათში id ველი. აირჩიეთ ყველა მომხმარებელი, რომელიც შავ სიაში არ არის. რამდენიმე გადაწყვეტა შემოგთავაზეთ.
sobes.tech AI
პასუხი AI-სგან
მომხმარებლების არჩევა, რომლებიც არ არიან შავ სიაში, შესაძლებელია რამდენიმე SQL სვეტის გამოყენება:
- LEFT JOIN გამოყენებით NULL-ის შემოწმებით:
SELECT c.*
FROM clients c
LEFT JOIN blacklist b ON c.id = b.id
WHERE b.id IS NULL;
- NOT IN გამოყენებით:
SELECT *
FROM clients
WHERE id NOT IN (SELECT id FROM blacklist);
- NOT EXISTS გამოყენებით:
SELECT *
FROM clients c
WHERE NOT EXISTS (
SELECT 1 FROM blacklist b WHERE b.id = c.id
);
ეს ვარიანტები თითოეულს აქვს თავისი შესრულების მახასიათებლები, მონაცემთა ბაზის მართვის სისტემასა და მონაცემთა მოცულობაზე დამოკიდებული.