zoukankan      html  css  js  c++  java
  • sqlServer杂计

    In与Exists的区别

        这两个函数是差不多的,但由于优化方案不同,通常NOT Exists要比NOT IN要快,因为NOT EXISTS可以使用结合算法二NOT IN就不行了,而EXISTS则不如IN快,因为这时候IN可能更多的使用结合算法。

        Select * from tableA Where exists(Select * From tableB Where tableB.ID=tableA.ID)

        这句相当于:Select * from tableA Where id in (Select ID From tableB)

        对于表tableA的每一条数据,都执行Select * From tableB Where tableB.ID=tableA.ID的存在性判断,如果表tableB中存在表tableA当前行相同的ID,则Exists为真,该行显示,否则不显示。

    • IN适合于外表大而内表小的情况;EXISTS适合于外表小而内表大的情况
    • In确定给定的值是否与子查询或列表中的值相匹配
    • Exists指定一个子查询,检测行的存在

    如:

    select  *  from  T_CUSTOMER_INFO c INNER JOIN ACCOUNT a

    ON c.id=a.AC_ID

    where not EXISTS(

      select   ACCOUNT_NO  from  TRADED_LOG 

                                                                             where TRADED_DATE  between  convert(varchar(8),dateadd(mm,-1,getdate()),120) + '01' 

                                                                                                                                       and convert(varchar(10),cast(convert(varchar(8),getdate(),120) + '01' as datetime) - 1,120)

                                                                                                           AND right(ACCOUNT_NO,7)=c.ID)

    SQL Server BETWEEN限制查询数据范围时同时包括了边界值

    使用BETWEEN限制查询数据范围时同时包括了边界值,而使用NOT BETWEEN进行查询时没有包括边界值。
        实际上,使用BETWEEN表达式进行查询的效果完全可以用含有“>=”和“<=”的逻辑表达式来代替,使用NOT BETWEEN进行查询的效果完全可以用含有“>”和“<”的逻辑表达式来代替。

    日期函数:

    上月交易量:

    select  ACCOUNT_NO , sum( LOT )  lot from  TRADED_LOG  where TRADED_DATE  between convert(varchar(8),dateadd(mm,-1,getdate()),120) + '01' and convert(varchar(10),cast(convert(varchar(8),getdate(),120) + '01' as datetime) - 1,120)  group by   ACCOUNT_NO

    SQL Server 分页语句

    http://www.cnblogs.com/szytwo/archive/2012/08/30/2663811.html

    select  top(1) DST_AMOUNT, ACCOUNT_NO  from   CUSTRANS_LOG  WHERE  ACCOUNT_NO = '360677314 '  order by CREATE_DATE  DESC

  • 相关阅读:
    [LeetCode]62. Excel Sheet Column Title Excel列序号
    [LeetCode]61. Excel Sheet Column Number Excel列序号
    [LeetCode]60. Rectangle Area矩形面积
    [LeetCode]59. H-Index H指数
    [LeetCode]58. Fraction to Recurring Decimal分数化小数
    [LeetCode]57. Binary Tree Inorder Traversal中序遍历二叉树
    Insert or Merge
    Root of AVL Tree
    是否同一棵二叉搜索树
    List Leaves
  • 原文地址:https://www.cnblogs.com/shz365/p/4150562.html
Copyright © 2011-2022 走看看