了解 MySQL 自联接
自联接是 SQL 数据库中使用的一种技术,允许您针对表本身进行查询。在本例中,我们将深入研究 MySQL 自联接,以查找开始日期晚于另一个事件指定天数的事件。
查询细分:
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.数据提取(FROM)
FROM mm_eventlist_dates event1 JOIN mm_eventlist_dates event2
这部分从 mm_eventlist_dates 两个表中提取数据,表示为 event1 和 event2,进行自连接。
2。连接条件 (ON)
ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY)
此条件定义两个表之间的连接。它指定事件 2 的开始日期必须等于事件 1 的结束日期一天后。
3.过滤 (WHERE)
WHERE event1.id=$id
此过滤器将结果限制为 ID 与指定 $id 匹配的事件。
4.字段选择 (SELECT)
SELECT event2.id, event2.startdate, event2.price
这部分指定结果集中应包含 event2 表中的哪些字段: ID 、开始日期和价格。
工作原理:
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3