学习使用SQLite(版本3.7.4)(中C)

前端之家收集整理的这篇文章主要介绍了学习使用SQLite(版本3.7.4)(中C)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

上节注意:sqlite的C API允许创建自定义的聚合和函数

GROUP BY的使用:

聚合主要是分组,既能计算整个结果集的组合值,也能把结果集分成多个组,对每个组单独应用聚合,并计算每个组的聚合值。如果是要计算每个type_id 组的数目:

这种办法可以获得一次性的结果,但是如果要获得单次的结果,可以这样写:select count(*) from foods where type_id = x,x是整数之类。

多表连接:

将两个表中id相同情况下匹配的name 输出;

在这里,有着主键和外键的应用。其实,一个表的主键如果在另一个表的字段中出现,那么他就是另一个表的外键。这种关系可用来进行表的连接。

内连接:

交叉连接:

尽量不使用交叉连接。

外连接之

左外连接:

左外连接操作sql命令中的左表,上列中foods是左表。本操作,试图将foods中的行与foods_epispdes中行进行连接关系的匹配,匹配的行都包含在结果集中。但是,问题是,foods中没有和foods_episodes匹配的行还是会显示,但是foods_episodes将会把null值进行填充来显示

右外连接:

基本和左外连接是一样的,没有什么区别。唯一不同就是,通俗的讲就是右表的显示会多,左表进行填充。

全外连接:

和复合查询有关。

自然连接;

自然连接通过相同的字段将两个表连接起来,不用添加连接条件就可获得内连接的结果。

显示形式的连接;

内连接:

左外连接:

注意上面无法匹配的部分,是以null值填充的。

交叉连接:

注意上表的各个部分的不同之处。

总结其显示语法形式如下:

select * from left_table join_typejoin right_table on join_condition;

其实,只要记得满足sql92也就基本没有什么问题了。

原文链接:https://www.f2er.com/sqlite/201801.html

猜你在找的Sqlite相关文章