• 数据库原理-SQL查询语句


    参考书籍《Oracle 数据库开发与应用》

    SQL查询语句,针对数据库中的表提供了各种查询功能。这里分为五个部分,说明在SQL中如何对数据进行查询。

    • 简单查询

    SELCET语句是最简单的SQL语句,格式为

                                                                        ----------------------------------------

                                                                         SELECT {*,列名[别名],···}

                                                                         FROM 表名;

                                                                        -----------------------------------------

    在SELECT语句中,具有以下性质:1.包含算术表达式  2.给字段起别名  3.空值在结果中无限大  4.用DISTINCT关键字去掉重复值

    *还可以带有限制条件的查询,这也是最常用也非常重要的。

    1.WHERE 限制

       在WHERE子句中一般是一个字段/公式与一个值的比较,可以使用关系运算符(进行数据过滤)、逻辑运算符(多个条件限制查询)

    2.BETWEEN···AND定位范围

    3.IN代替OR运算符

    4.LIKE模糊查询

    5.ORDER BY排序

      可以对多个字段排序,支持通过别名排序, 注意ORDER BY子句只能出现在整个SELECT语句最后。

    • 连接查询

     分为内连接、外连接和其他连接。

    *内连接,基本格式为-------------------------------------------

                                      SELECT   列名

                                      FROM      表名1

                                      JOIN         表名2   ON 相等条件

                 ···

                                      WHERE    其他条件;

                                     --------------------------------------------

    *外连接,使用等号作为连接操作符,不仅可以看到等值的记录,还能看到不满足等值连接条件的记录。如果一方表的连接列值在另一方表内找不到,则将找不到的内容用NULL值显示。有左外连接(LEFT OUTER JOIN )、右外连接(RIGHT OUTER JOIN)、完全外连接(FULL OUTER JOIN)。

    • 聚合函数

     聚合函数也称多行函数,常见的聚合函数:

    1.COUNT

    2.AVG

    3.SUM

    4.MAX & MIN

    这里有一个容易出错的地方:如果是直接查询最值没有问题,但要将最值的相应字段显示出来就不能直接SELECT。

    解决方法:1-排序后取需要的某几条记录(使用RUWNUM子句)

                      2-使用子查询

                      在SELECT中嵌套SELECT最值查询。

    5.GROUP BY

    即按照一个或多个字段进行分组,规则:出现在SELECT中的字段,如果没有出现在聚合函数,就必须出现在GROUP BY子句,且子句紧跟在WHERE 子句后面

    6.HAVING

    注意,HAVING 后面的列名不能用别名。

    到这里,可以总结出一个基本完整的SQL语句结构:

                                                                                     ----------------------------------------------------

                                                                                           SELECT 

                                                                                           FROM

                                                                                           [WHERE ]

                                                                                           [GROUP BY]

                                                                                           [HAVING ]

                                                                                           [ORDER BY ];

                                                                                    -----------------------------------------------------

    • 子查询

     也就是嵌套查询。

    *使用位置

    1-在WHERE/HAVING中使用     

    2-在FROM中使用   

    3-在SELECT中使用   (关联子查询可以在这三个位置中巧妙使用)

    *用WITH/ROWNUM     

    1-WITH可以暂存查询结果重复使用   

    2-ROWNUM表明查询的行号,从1开始。*注意:要直接访问大于1的值,可以使用子查询,例如查询某个                                                                                                                                                                              范围使用BETWEEN AND;还可以和ORDER BY联系使用。

    *相关运算符     

    1-EXISTS关键字     

    2-多行比较运算符   

    3-  结果集的合并和保存(UNION)

    • 单行数据处理函数

    1-字符串处理函数

    2-数值处理函数

    3-日期处理函数

    4-类型转换函数

    5-其他函数

    NVL(X,Y)用于将空值转换为一个替换值。

    DECODE函数可以进行选择判断。

  • 相关阅读:
    APACHE POI教程 --java应用程序用POI与Excel交互
    Java8初体验(一)lambda表达式语法
    使用Struts 2框架实现文件下载
    常用的MIME类型
    Java8初体验(二)Stream语法详解
    XStream使用总结
    Criteria 和 DetachedCriteria的区别与使用
    Class.isAssignableFrom(Class clz)与instanceof与Class.isInstance(Object obj) 的区别和联系
    xStream完美转换XML、JSON
    spring之BeanFactoryAware接口
  • 原文地址:https://www.cnblogs.com/alu5060/p/11938601.html
Copyright © 2020-2023  润新知