zoukankan      html  css  js  c++  java
  • SQL应该避免查询方式

    1、SQL在反义运算符中避免使用!

    "!=": 不等于

    "!>":不大于

    "!<":不小于 

    "="、">"、"<"可以直接加上!进行运算,虽然这样方便了开发人员的使用,很可惜只有MSSQL和DB2这两种关系数据库提供了支持。SQL提供了通用表示不等于、不小于、不大于的运算符"<>"、">="、"<="。在任何数据库系统中都可以使用。为了保证数据库的移植性和兼容性最好使用SQL提供的通用的运算法。

    出了SQL通用的预算法之外,还可以用NOT 配合运算式来使用,例如:

    SELECT * FROM Student WHERE Age>=20
    SELECT * FROM Student WHERE NOT(Age<20)

    两条语句的执行结果是一样的。

    2、避免使用多个OR,使用IN语句

    SLECT * FROM Student WHERE Age=21

    OR Age=22 OR Age=33 OR Age=35

    OR Age=40 OR Age=45

    这样不仅写起来特别麻烦,而且维护起来也很麻烦,稍微不注意就丢掉一个值

    SQL提供了IN关键字,上面的查询语句可以这样写

    SELECT * FROM Student WHERE  Age IN (21,22,33,35,40,45)

    两个查询语句的结果是相同的但是第二个更容易维护。 

    3、闭区间范围查询使用BETWEEM AND 

    SELECT * FROM Student WHERE Age>18 AND Age Age<60

    SELECT * FROM Student WHERE Age BETWEEN 18 AND 60

    数据库对BETWEEN AND 进行了查询优化所以在范围值检测时,BETWEEN应该优先考虑。 

    另外BEWEEN AND 只能用于闭区间查找,如果要进行开区间或者半开区间的检测那就变通一下或者使用其他方法吧。

  • 相关阅读:
    呼叫中心获取sip数据报文
    【代码总结】GD库中简单的验证码
    【代码学习】PHP中GD库的使用
    【漏洞详解】文件包含漏洞
    讲两道常考的阶乘算法题
    如何高效解决接雨水问题
    如何判定括号合法性
    二分查找高效判定子序列
    一道数组去重的算法题把东哥整不会了
    如何高效寻找素数
  • 原文地址:https://www.cnblogs.com/accessking/p/2519454.html
Copyright © 2011-2022 走看看