Abaixo está uma instrução que descreve uma tarefa de geração de SQL, combinada com uma entrada que fornece mais contexto sobre os esquemas de tabela disponíveis. Escreva o código SQL que responda adequadamente à solicitação
 ###Instrução: Encontre os IDs dos produtos que são tanto hidratantes quanto leves, e são provenientes dos EUA ou Canadá.
 ###Tabelas: 
CREATE TABLE consumer_preferences (id INT, consumer_id INT, product_id INT, preference TEXT); INSERT INTO consumer_preferences (id, consumer_id, product_id, preference) VALUES (1, 1, 1, 'moisturizing'), (2, 1, 2, 'lightweight'), (3, 2, 1, 'organic'), (4, 2, 3, 'matte finish'); CREATE TABLE ingredient_sourcing (id INT, product_id INT, country TEXT); INSERT INTO ingredient_sourcing (id, product_id, country) VALUES (1, 1, 'USA'), (2, 2, 'Canada'), (3, 3, 'Mexico'), (4, 4, 'France');
SELECT product_id FROM consumer_preferences WHERE preference IN ('moisturizing', 'lightweight') INTERSECT SELECT product_id FROM ingredient_sourcing WHERE country IN ('USA', 'Canada');