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

  • 相关阅读:
    winform编程设定listview选中行
    更新客户信息
    在Flutter中使用Android、iOS的原生 View
    怎么卸载nodejs?
    JavaScript实现简单的图片瀑布流插件
    通过代码重用攻击绕过现代XSS防御
    炫酷的播放粒子效果,你也可以学会!使用Web动画API制作
    14行实现js原生语法前端模板引擎
    什么是ESLint?
    js中require和import的区别
  • 原文地址:https://www.cnblogs.com/accessking/p/2519454.html
Copyright © 2011-2022 走看看