zoukankan      html  css  js  c++  java
  • 数据库的查询笔记

      数据库的查询笔记

    1、 在字符查询语句中:WHERE 语句中的筛选条件应该用LIKE,NOT LIKE 来表达是否匹配。如下所示;

    SELECT

         S.*

         FROM

         tb_Major AS S

         WHERE

         S.ShortName  LIKE '公共事业管理% ';

    一定不能表示成

    SELECT

         S.*

         FROM

         tb_Major AS S

         WHERE

         S.ShortName  = '公共事业管理% ';

    2、 用户查询的字符串本身就含有通配符%或者-时,需要使用ESCAPE’<换码字符>’短语对通配符进行转义。

    如下代码例子所示:

    SELECT

    Cno,Ccredit

    FROM

    Course

    WHERE Cname LIKE ‘DB\_Design’ ESCAPE’’;

    3、为了进一步方便用户,SQL 语言提供了许多的聚集函数,主要有COUNT(*)、SUM、AVG、MAX、MIN 。在使用这些聚集函数时经常会出现以下情况

     

    正确表达如下:

      SELECT

      S.*

      ,MIN(S.BirthDate)

      FROM

      vw_Student AS S

      GROUP BY

      S.BirthDate

     4、在SQL 语言中WHERE子句是不能用聚集函数作为条件表达式的,聚集函数只能作用于SELECT子句和GROUP BY 的HAVING 语句。

    例:错误表达方式

     

     正确表达如下

    5、ISNULL 函数,判断是否为空值

    例:

    语句执行后,若先修课程为空值,则输出结果‘无‘的数据类型与PreCourseNo 数据类型一致。

    故因此可能会出现输出结果数据被截断或者出现空格情况,因此该函数在使用时常常连同着转变函数CONVERT 函数一起使用来转变输出结果的数据类型。

     6、字符串拼接时若拼接的某一部分的取值为NULL,则拼接后的输出结果只会是NULL

    拼接的前部分将被覆盖丢失。

    例、C.No+C.Name+C.PrecourseNo

      当C.PrecourseNo 取NULL时,拼接的最后输出结果为NULL。

    修改后:C.No+C.Name+ RTRIM (ISNULL(C.PrecourseNo ,’’) 则避免了上述问题

    7、SQL语言中IF不能用于语句内部,因为它控制的是整个流程,即该段语句是否执行。不能用来表达对语句中某一列的各种取值情况问题。

    错误语句段:              

    SELECT

    S.Name

    ,S.No

    ,IF….

    正确语句段

    SELECT                        

    S.Name

    ,S.No

    ,CASE

     8、查询数据库中所有表的各有多少条记录的代码片段如下所示:(以查询数据库EduBase中所有表各有多少条记录为例)

    执行结果如下:

  • 相关阅读:
    Centos7 定时任务
    Linux启动配置文件和运行等级runlevel
    Linux 网卡命名规则
    将博客搬至CSDN
    Lua调用C++动态链接库.so
    使用shell脚本执行批量mongosh语句
    TCP和UDP详解
    经受时延的确认(Delay ACK)
    18张图带你了解衡量网络性能的四大指标:带宽、时延、抖动、丢包
    TCP学习
  • 原文地址:https://www.cnblogs.com/706xiaozu/p/7787318.html
Copyright © 2011-2022 走看看