Compreendendo as autojunções do MySQL
As autojunções, uma técnica usada em bancos de dados SQL, permitem consultar uma tabela em relação a si mesma. Nesse caso, nos aprofundaremos em uma auto-junção do MySQL para encontrar eventos com datas de início após outro evento por um número especificado de dias.
Detalhamento da consulta:
SELECT event2.id, event2.startdate, event2.price FROM mm_eventlist_dates event1 JOIN mm_eventlist_dates event2 ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY) WHERE event1.id=$id;
1. Extração de dados (FROM)
FROM mm_eventlist_dates event1 JOIN mm_eventlist_dates event2
Esta parte extrai dados de duas tabelas, mm_eventlist_dates, representadas como evento1 e evento2, para auto-junção.
2. Condição de junção (ON)
ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY)
Esta condição define a junção entre as duas tabelas. Ele especifica que a data de início do evento2 deve ser igual a um dia após a data de término do evento1.
3. Filtragem (WHERE)
WHERE event1.id=$id
Este filtro limita os resultados a eventos que tenham um ID correspondente ao $id especificado.
4. Seleção de campo (SELECT)
SELECT event2.id, event2.startdate, event2.price
Esta parte especifica quais campos da tabela event2 devem ser incluídos no conjunto de resultados: ID , data de início e preço.
Como funciona:
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3