大家好,又见面了,我是你们的朋友全栈君。
在某些情况下用于寻找连续日期中残缺的数据,可以先用笛卡尔积做一个排列组合,然后和目标表进行关联,以查询少了哪些数据。
例如:在一张考勤记录表中,记录了100个人在2018年8月的考勤信息,理论上这些人应该每天都有记录。但是实际上有的人在某些天上面的数据缺少了,然而不论是一天一天的查询,还是一个一个人的查询,都比较麻烦。
在这种情况下,可以针对每个人每一天做一个笛卡尔积处理。去除与实际表的关联,就很容易找出确实数据了。
AA BB
SELECT * FROM AA,BB ORDER BY a1,b1
CC
SELECT * FROM AA,BB,CC ORDER BY a1,b1,c1
l 内连接:
要点:返回的是所有匹配的记录。
l 外连接有左连接和右连接两种。
要点:返回的是所有匹配的记录 外加 每行主表外键值为null的一条记录。辅表所有列为null值。
子句 | 说明 | 是否必须使用 |
---|---|---|
select | 要返回的列或表示式 | 是 |
form | 从中检索数据的表 | 仅在从表选择数据时使用 |
where | 行级过滤 | 否 |
group by | 分组说明 | 仅在按组计算聚集时使用 |
having | 组级过滤 | 否 |
order by | 输出排序顺序 | 否 |
limit | 要检索的行数 | 否 |
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157307.html原文链接:https://javaforall.cn