SQL语句注意的东西

        SQL不太熟悉,写的时候总是会有这样那样的问题,先从点滴做起,记录一下遇到的小错误以及解决的办法,积累多了,错误也就少了。

   

     SQL(Structed-Query-Language):结构化查询语言,并不是某一个数据库所特有的,而是针对很多的数据库管理系统(DBMS),它们都有自己的一套写法,有些写法是相同的,但是有些写法就不同,这就导致了可移植性比较差。具体情况具体分析。

     一句正确的查询语句应该有几部分组成 : select  ... from ... where ... ...

     select后面是要查询的列,这些列可以是一张表里的,也可以是多张表里面的(要通过表名去查找,而且要连接表),也可以是构造的字段(例如将两个字段加起来,串起来,可以进行加减乘除运算得到新的字段名),用的比较多,也可以是表里的全部字段,用*通配符表示,但是如果需要查询的不是整个表,最好不好使用*,即使它简单方便,它会影响查询的性能,尤其是在表的字段特别多,而查询所需的仅仅是几个字段的情况下。也可以是通过函数计算出来的值。

    如果是多个表里的字段,需要使用表的别名时,一定要保证列名前面是表的别名,不然会报不一致的表名。

   如果需要给查询的列名重新命名,使用as 关键字。

   

   在查询语句中的字段名会作为查出的表的字段名,确保在程序中使用的字段名和查出的表的字段名相同,否则会出错。

    from后面跟着的是 表,这个表可以是已经确定的表,数据库中已经存在,也可以是一个 使用查询语句查出的临时表,也可以是多个表的连接,例如使用left join等关键字。总之,只要from后面是表就行。

    where是查询条件,很灵活,可以跟很多种判定条件,判定条件也可以进行组合。

 

     写SQL语句的时候要注意:

     空格,有时并不是一次就写完的,而是要经过拼接,这时一定要注意字符串后面的和下一句的开头连在一起,会出错。所以每一句字符串后面跟上一个空格就可以保证不出错。

     字符串类型的要加单引号。

      如果使用临时表时,要注意给临时表起名字,例如:

    

SELECT TOP 页大小 *   
FROM   
         (  
         SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM table1  
         ) A  
  
 
WHERE RowNumber > 页大小*(页数-1)   

A就是临时表的名字,不起则会报错。


      如果查询时需要使用计算的,尽量使用SQL中自带的计算函数,在服务器中的计算速度远比在客户机中的计算速度,因为这些都是数据库服务器进行优化过的,例如要只要得到查询到的行数,只需使用count(),不需要将那些值都查出来再显示到客户端。count()计算出来的就一个值,而查询出来的表则有很多数据,而且都没有用,所以能使用自带函数的尽量使用。

     如果SQL语句中有错误在程序调试时发现不了,可以将其放在SQL的查询窗口中进行查询,检查错误,这样效率要高一些。

     SQL中的关键字不明白的,可在查询窗口中写出来按 F1 就会弹出SQL 的帮助文档

    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值