有张表t1,表结构如图,0 表示座位没人,1表示座位有人,查询出座位是连续的且没有人的seat_id

SELECT DISTINCT a.seat_id
from t1 as a,t1 AS b
WHERE a.free=1 AND b.free=1 AND ABS(a.seat_id - b.seat_id)=1
ORDER BY a.seat_id
2、有表t1 ,seat_id 没有任何的父节点 那他就是根节点,若没有孩子那就是 叶子节点 ,如果既有父节点也有孩子那就是内部节点,写一个查询语句,输出所有节点的编号和节点的类型,并将结果按照节点编号排序


SELECT seat_id ,IF(ISNULL(free), '根节点',
IF(seat_id IN (SELECT free FROM t1 ) or seat_id=3, '内部节点', '叶子节点'))
AS TYPE
FROM t1
ORDER BY seat_id
本文介绍两种实用的SQL查询技巧:一是如何找出表中连续空闲的座位,二是如何判断节点类型(根节点、叶子节点、内部节点),并提供具体SQL语句实现。
7002

被折叠的 条评论
为什么被折叠?



