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: Identificar os 3 principais itens do menu com a maior taxa de rotatividade de inventário nos últimos 6 meses.
 ###Tabelas: 
CREATE TABLE inventory (inventory_id INT, menu_item_id INT, quantity INT, reorder_date DATE); INSERT INTO inventory VALUES (1, 1, 50, '2022-01-01'), (2, 2, 75, '2022-02-01'), (3, 3, 60, '2022-03-01'), (4, 1, 100, '2022-04-01'); CREATE TABLE sales (sale_id INT, menu_item_id INT, sale_amount DECIMAL(10, 2), sale_date DATE); INSERT INTO sales VALUES (1, 1, 50.00, '2022-02-01'), (2, 2, 75.00, '2022-03-01'), (3, 3, 60.00, '2022-04-01'), (4, 1, 100.00, '2022-05-01'); CREATE TABLE menu_items (menu_item_id INT, menu_item_name VARCHAR(255), category VARCHAR(255)); INSERT INTO menu_items VALUES (1, 'Veggie Burger', 'Entrees'), (2, 'Tomato Soup', 'Soups'), (3, 'Caesar Salad', 'Salads');
SELECT i1.menu_item_id, m1.menu_item_name, c1.category, AVG(i1.quantity / (DATEDIFF(day, i1.reorder_date, s1.sale_date) * AVG(i1.quantity))) AS inventory_turnover_ratio FROM inventory i1 INNER JOIN menu_items m1 ON i1.menu_item_id = m1.menu_item_id INNER JOIN (SELECT menu_item_id, category FROM menu_items EXCEPT SELECT menu_item_id, category FROM menu_items WHERE menu_item_id NOT IN (SELECT menu_item_id FROM sales)) c1 ON m1.menu_item_id = c1.menu_item_id INNER JOIN sales s1 ON i1.menu_item_id = s1.menu_item_id WHERE s1.sale_date > DATEADD(month, -6, GETDATE()) GROUP BY i1.menu_item_id, m1.menu_item_name, c1.category ORDER BY inventory_turnover_ratio DESC LIMIT 3;