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

来源:互联网 发布:什么是网络恐怖主义 编辑:程序博客网 时间:2024/05/29 02:17

上节注意: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_type  join  right_table   on   join_condition;

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

 



原创粉丝点击