zoukankan      html  css  js  c++  java
  • SQL--数据的检索

    1、 数据准备

    创建一个表格:

    CREATE TABLE T_Employee  (FNumber VARCHAR(20), FName VARCHAR (20), Fage INT, FSalary DECIMAL(10, 2), PRIMARY KEY (FNumber))

    插入数据

    INSERT INTO T_Employee(FNumber, FName, FAge, FSalary) VALUES("DEV001","Tom",25,8300);

    INSERT INTO T_Employee(FNumber, FName, FAge, FSalary) VALUES("DEV002","Jerry",28,2300.80);

    INSERT INTO T_Employee(FNumber, FName, FAge, FSalary) VALUES("SALE001","John",23,5000);

    INSERT INTO T_Employee(FNumber, FName, FAge, FSalary) VALUES("SALE002","Kerry",28,6200);

    INSERT INTO T_Employee(FNumber, FName, FAge, FSalary) VALUES("SALE003","Stone",22,1200);

    INSERT INTO T_Employee(FNumber, FName, FAge, FSalary) VALUES("HR001","Jane",23,2200.88);

    INSERT INTO T_Employee(FNumber, FName, FAge, FSalary) VALUES("HR002","Tina",25,5200.36);

    INSERT INTO T_Employee(FNumber, FName, FAge, FSalary) VALUES("IT001","Smith",28,3900);

    2、 简单的数据检索

    取出一张表中的所有数据:SELECT * FROM 表名

    例如 SELECT * FROM T_Employee

    如果要检索其中某一列的数据,则将上述语句的*替换成对应的列名

    SELECT FName FROM T_Employee

    若要检索多个列,则输入多个列名,用逗号隔开

    列别名:只需要在列名后面输入 as 别名 即可 (通常把as省略)

           例如:SELECT FName 姓名,FAge 年龄FROM T_Employee

    3、 数据汇总

    SQL中提供了聚合函数来完成计算统计结果集条数、某个字段的最大值、某个字段的最小值、某个字段的平均值以及某个字段的合计值等数据统计的功能                                                                            

         函数名   说明

         MAX     计算字段最大值

         MIN      计算字段最小值

         AVG      计算字段平均值

         SUM      计算字段合计值

         COUNT    统计数据条数

    这几个聚合函数都有一个参数,表示要统计的字段名

    例:SELECT  MAX(FSalary) FROM T_Employee WHERE Fage>25

    4、 排序

    SELECT语句允许使用ORDER BY子句来执行结果集的排序方式

    ORDER BY子句位于SELECT语句的末尾,他允许指定按照一个列或者多个列进行排序,还可以指定排序方式是升序(ASC)还是降序(DESC

    例:SELECT * FROM T_Employee ORDER BY FAge  ASC

    ORDER BY 子句支持指定多个排序列,各列之间用逗号分开即可

    例:SELECT * FROM T_Employee ORDER BY FAge DESC,FSalary DESC

    按照年龄从大到小排序,如果年龄相同则按照工资从大到小排序

    对于多个排序规则,数据库系统会按照优先级进行处理。

    ORDER BY语句还可以与WHERE搭配使用,需要注意的是ORDER BY语句需要放在WHERE语句后面。

    5、通配符过滤

           SQL中的通配符过滤使用LIKE关键字,可以像使用OR、AND等操作符一样使用它,它是一个二元操作符,左表达式为待匹配的字段,而右表达式为待匹配的通配符表达式。通配符表达式由通配符和普通字符组成,主流数据库系统支持的 通配符有单字符匹配和多字符匹配,有的数据库系统还支持集合匹配。

    •          单字符匹配

             进行单字符匹配的通配符为半角下划线“_”,它匹配单个出现的字符。比如通配符表达式“b_d”匹配第一个字符为b,第二个字符为任意字符,第三个字符为d的字符串

        例如:SELECT * FROM T_Employee WHERE FName LIKE “_erry

    •          多字符匹配

             进行多字符匹配的通配符为半角百分号”%“,它匹配任意次数(零次或多次)出现的任意字符。比如通配符表达式”k%”匹配以“k“开头,任意长度的字符串

    6、 空值检测

    在SQL语句中对空值的处理有些特别,不能使用普通的等于运算符进行判断,而是使用IS NULL关键字,使用方法为“待检测字段名IS NULL”,比如要查询所有姓名未知的员工信息,则运行下面的SQL语句:

    SELECT * FROM T_Employee WHERE FAname IS NULL

    如果要检测“字段不为空”,则要使用IS NOT NULL

    7、 反义运算符

    MSSQLServer、DB2提供了“!”运算符来对运算符求反义,也就是“!=“表示不等于、

    “!<”表示不小于。

    不过这个运算符只在MSSQLServer和DB2两种数据库系统上提供支持,如果在其他数据库系统上则可以用其他的变通方式实现,最常用的变通实现方式有两种:使用同义运算符、使用NOT运算符

    同义运算符:“<>”不等于、”<=”不大于、”>=”不小于

    NOT运算符:如表达“年龄不小于20”,那么使用“NOT(Fage<20)

    8、 多值检测

    为了解决进行多个离散值的匹配问题,SQL提供了IN语句,使用IN我们只要指定要匹配的数据集合就可以了,使用方法为“IN(值1,值2,值3……)”。

    例如:SELECT FAge,FNumber,FName FROM T_Employee WHERE FAge IN(23,25,28)

    9、 范围值检测

    专门用于范围值检测的语句”BETTWEEN AND”,它可以用来检测一个值是否处于某个范围中(包括范围的边界值,也就是闭区间)。

    使用方法如下:“字段名BETTWEN左范围值AND右范围值”

  • 相关阅读:
    Docker_使用Rancher管理docker(7)
    Docker_部署本地镜像仓库(6)
    Python_多任务:进程、线程、协程
    JMeter_实现算法加密
    Docker_创建自定义镜像(5)
    Fiddler Everywhere简单使用
    Docker_容器(container)使用(4)
    Docker_镜像(image)使用(3)
    C#读写锁ReaderWriterLockSlim的使用
    C++二级指针第三种内存模型
  • 原文地址:https://www.cnblogs.com/D-LW/p/8526011.html
Copyright © 2011-2022 走看看