上节注意: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也就基本没有什么问题了。
总结以上是内存溢出为你收集整理的学习使用SQLite(版本3.7.4)(中C)全部内容,希望文章能够帮你解决学习使用SQLite(版本3.7.4)(中C)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)