上篇博文在说SQL基础的时候,有一个地方有点误导大家,文中说到SQL 中的substring()和C#中的substring()相同,这有点歧义。基本原理虽然相同,但是有一点很不一样,就是C#中索引是从0开始的,而SQL中索引是从1开始的,所以在截取的时候需要稍微注意一下,在这里也感谢给我指出来的那位朋友。其实我们很多时候在阅读别人文章的时候,如果发现其中不妥的地方,耐心的,而且清楚的指出来,不但对自己是一种提高,对作者也是一种鼓励。因为很多时候,自己能明白是一回事儿,但要描述清楚,让别人明白又是另外一回事儿。好了,开头说了几句题外话,现在切入正题。
索引-->Index,可以对经常需要查询的字段添加索引,从而增加访问速率,提高检索速度。如果说索引不太好理解,咱们换个说法,书的目录大家都知道,通俗的说,索引跟目录挺相似的。有了目录,我们可以很方便,快捷的查询书中的内容,这比一页一页翻效率要高的多。但是,书中的内容一发生变化,我们要想目录还有效的话,就得及时的更改目录。索引也一样,虽然很多时候可以提高效率,但是如果库中的数据频繁变化的话,用不用索引就得论证一下了。另外索引占空间,而且添加,更新,删除数据时也需要同步更新,因此降低了Insert,Update,Delete的速度,所以只在经常检索的字段上创建索引。还有一个地方要注意的就是,为了避免全表扫描,尽量别在索引里用like之类的模糊查询。
IN,逻辑运算符,用来查找值属于指定结婚的元组,格式用法:
//语法格式 //列名 [not] IN (常量1,常量2,常量3......) //例: SELECT Sname,Ssex from Student where sdept IN (\'信息系\',\'计算机系\',\'数学系\') //查询表中系别为信息系,计算机系或者数学系的学生