zoukankan      html  css  js  c++  java
  • sql server 数据查询基础


    1.什么是查询
    查询产生一个虚拟表
    看到的是表形式显示的结果,但结果并不真正存储
    每次执行查询只是从数据表中提取数据,并按照表的形式显示出来

    2.查询
    语法:SELECT <列名>
    FROM <表名>
    [WHERE <查询条件表达式>]
    [ORDER BY <排序的列名>[ASC或DESC]]

    3.查询全部的行和列:

             SELECT * FROM 表名

    4.查询部分列:

               SELECT 列名 FROM 表名

    5.查询部分行和列:

               SELECT 列名 FROM 表名 WHERE 条件

    6.数据查询-列别名
                    使用AS命名列:
                           (1)SELECT SCode AS 学生编号,SName AS 学生姓名,
                                    SAddress AS 学生地址
                                    FROM Students
                                      WHERE SAddress <> '河南新乡'
                           (2)SELECT FirstName + '.' + LastName AS 姓名
                                     FROM Employees
           注意:
                (1) + 连接的数据类型必须兼容
                (2) 如果 + 连接字符型数据,结果为字符串数据的连接
                (3) 如果 + 连接数值型数据,结果为数值的和

                               使用“=”命名列:
                                  SELECT 姓名 = FirstName+'.'+LastName
                                 FROM Employees

    7.数据查询-空行、常量列
                   查询空行:
                              SELECT SName FROM Students WHERE SEmail IS NULL
                    查询常量列
                                 SELECT 姓名=SName,地址= SAddress , '北京新兴桥' AS 学校名称
                                 FROM Students

    8.数据查询-限制行数
                    限制固定行数:
                           SELECT TOP 行数 列名1, 列名2
                           FROM 表名 WHERE 条件
                 按百分数返回行:
                           SELECT TOP 百分值 PERCENT 列名1,列名2
                           FROM 表名 WHERE 条件

    9.查询单列排序
                  升序排列
                           SELECT 列名1,列名2 FROM 表名 WHERE 条件 ORDER BY 要排序的列名 ASC
                  降序排列
                         SELECT 列名1,列名2 FROM 表名 WHERE 条件 ORDER BY 要排序的列名 DESC


    10.查询多列排序
                      SELECT 列名1,列名2 FROM 表名 WHERE 条件 ORDER BY 列名1,列名2

    11.分页查询
                        select * from table limit (start-1)*limit,limit; 其中start是页码,limit是每页显示的条数
     

    12.SQL Server中的函数

                 常用的几类函数
                         字符串函数:用于控制返回给用户的字符串
                          日期函数:用于操作日期值
                         数学函数:用于对数值进行代数运算
                        系统函数:获取有关SQL Server中对象和设置的系统信息

    13字符串函数


    函数名 描述 示例
    CHARINDEX 寻找一个指定的字符串在 SELECT
    另一个字符串中的起始位置 CHARINDEX('JBNS','My JbnsCourse',1 )
    返回:4
    JBNS:要寻找的字符串 1:寻找的起始位置
    LEN 返回传递给它的字符串长度 SELECT LEN('SQL Server课程')
    返回:12
    UPPER 把传递给它的字符串转换为大写 SELECT UPPER('sql server课程')
    返回:SQL SERVER课程
    LTRIM 清除字符左边的空格 SELECT LTRIM (' 周智宇 ')
    返回:周智宇 (后面的空格保留)
    RTRIM 清除字符右边的空格 SELECT RTRIM (' 周智宇 ')
    返回: 周智宇(前面的空格保留)
    RIGHT/ 从字符串右/左边返回指定数目 SELECT RIGHT('买卖提.吐尔松',3)
    LEFT 的字符 返回:吐尔松 3:要返回的字符的数目
    REPLACE 替换一个字符串中的字符 SELECT REPLACE('莫乐可切.可','可','兰')
    返回:莫乐兰切.兰
    可:将要被替换的字符 兰:替换后的字符
    STUFF 在一个字符串中,删除指定 SELECT STUFF('ABCDEFG', 2, 3, '我的
    长度的字符,并在该位置插 音乐我的世界')
    入一个新的字符串 返回:A我的音乐我的世界EFG
    2:删除的起始位置 3:删除的字符长度
    我的音乐我的世界:要插入的字符串

    14日期函数


    函数名 描述 示例
    GETDATE 取得当前的系统日期 SELECT GETDATE() 返回:今天的日期
    DATEADD 将指定的数值添加到 SELECT DATEADD(mm,4,'01/01/2009')
    指定的日期部分后的日期 返回:以当前的日期格式返回05/01/2009
    mm:月份,month 4:要添加的数值
    01/01/2009:要添加的指定日期
    DATEDIFF 两个日期之间的指定日期 SELECT DATEDIFF
    部分的间隔 (mm, '01/01/2009', '05/01/2009')返回:4
    mm:月份,month
    01/01/2009:第一个日期
    05/01/2009:第二个日期
    DATENAME 日期中指定日期部分的字 SELECT DATENAME(dw, '01/01/2000')
    符串形式 返回:Saturday或星期六
    dw:当天的星期 weekday
    01/01/2000:指定日期
    DATEPART 日期中指定日期部分的整 SELECT DATEPART(day, '01/15/2000')
    数形式 返回:15
    day:日(要得到的指定日期部分)
    01/15/2000:指定日期

    15.数学函数


    函数名 描述
    RAND  返回从 0 到 1 之间的随机 float 值 
    CEILING 取大于或等于指定数值、表达式的最小整数
    FLOOR 取小于或等于指定表达式的最大整数
    POWER 取数值表达式的幂值
    ROUND 将数值表达式四舍五入为指定精度
    SIGN 对于正数返回+1,对于负数返回-1,对于0则返回0
    SQRT 取浮点表达式的平方根

    16.系统函数


    函数名 描述 示例
    CONVERT 用来转变数据类型 SELECT CONVERT (VARCHAR (5),12345)
    /CAST 返回:字符串12345
    SELECT CAST (12345 AS VARCHAR(5))
    返回:字符串12345
    CURRENT_USER 返回当前用户的名字
    DATALENGTH 返回用于指定表达式的字节数
    HOST_NAME  返回当前用户所登录的计算机名字
    SYSTEM_USER 返回当前所登录的用户名称
    USER_NAME 从给定的用户ID返回用户名

  • 相关阅读:
    SpringAOP里JoinPoint常用方法总结
    Hutool工具
    github配置.gitignore忽略版本文件
    IDEA集成Docker部署微服务
    mybatisplus插入报错argument type mismatch
    mysql 主从复制遇到的坑
    博客园文档树参考涉案值
    MySQL分库分表和优化
    mycat中文乱码-解决方案
    ElasticSearch&Docker&Kafka
  • 原文地址:https://www.cnblogs.com/zjx-959/p/13044435.html
Copyright © 2011-2022 走看看