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 只能用于闭区间查找,如果要进行开区间或者半开区间的检测那就变通一下或者使用其他方法吧。

  • 相关阅读:
    STL set
    STL pair
    STL简介
    最长公共子序列lcs
    MySQL常用内置函数整理
    MySQL注入点写webshell的五种方式
    phpAdmin写webshell的方法
    mysql之突破secure_file_priv写webshell
    MySQL提权之启动项提权
    MySQL提权之mof提权
  • 原文地址:https://www.cnblogs.com/accessking/p/2519454.html
Copyright © 2011-2022 走看看