zoukankan      html  css  js  c++  java
  • 数据库==>>数据查询基础

     数据查询基础

    还好吗?几天不见,甚是思念呀!笑对人生,好好生活,快快乐乐的迎接我们的美好未来吧!

    好吧!抒情结束,我们一起来学习一下我们今天的主题:数据查询基础,很有意思哟.让我们来感受它的魅力吧!

    一.使用select语句进行查询

    语法:

    select <列名>

    from <表名>

    [where <查询条件表达式>]

    [order by <排序的列名>[asc或desc]]

    其中:[]表示可省

    01.查询所有的数据行和列(*)

    select *from Studendt

    02.查询部分行或列

    eg:查找留言人是“乐”的部分信息

    select ID,Email
    from Student
    where name=''

    03.别名

    别名方案一:

    select msgAuthor as 留言人,msgContent as 留言内容
    from Message

    别名方案二:

    select msgAuthor  留言人,msgContent  留言内容
    from Message 

    别名方案三:

    select 留言人=msgAuthor,留言内容=msgContent
    from Message

    04.查询空值

    在SQL Server中null代表不知道,所以如果where后的限定条件不能用=和null做对比,必须使用is null

    eg:查询Email为空的

    select *from Student
    where Email is null --不能写为where Email=null

    05.常量列

    select *,'汉族'as 民族  from Message

    06.查询返回限制的行数(top关键字)

    eg:限制只检索前3条数据

    use MySchool
    select top 3 * from student
    where Gender='0'

    07.将多列合并成一列显示

    select msgAuthor+'____'+msgContent as 留言人 
    
    from Message

    08.通配符

    01. %:任意长度的任意字符,(包含0个)

    02. _:任意的单个字符,只能是一个

    03. []:括号中所指定范围内的一个字符

    04. [^]:不在括号中所指定范围内的任意一个字符

    二.查询排序(order by)

    asc:升序(不写默认值)

    desc:降序

    eg1:

    select * from student
    order by Gender  --默认按主键升序排序

    eg2:按照多列排序

    select * from student
    order by GradeId [asc],Gender [desc]

    二.查询中使用函数

    01.字符串函数

    01.CharIndex('str1','str2',index)

    参数含义:
    --第一个参数:要查询的字符串
    --第二个参数:在哪个字符串中搜索
    --第三个参数:从str2的第几个字母开始搜索
    --注意点:如果在str2中没有找到str1,那么返回0

    select charindex('好好学','S1是S2的基础,所以大家好好学',1)
    --返回14

    02.len():获取小括号中字符串的长度,空格也算一个字符长度

    select len('明天咱们还上课,希望大家回去好好休息')  --返回18
    select len('             大家都                   是好孩子                 ')   
    --返回39

    注意点:如果内容以多个空格结尾,那么结尾的多个空格,是不计算长度的
    --例如:

    select len('我们都是好孩子                                         ')    --返回7

    03.upper:把传递给它的字符串转换为大写

    SELECT upper('SQL Server课程')  --SQL SERVER课程

    04.LTRIM()清除左侧空格

    select ltrim('  一个人的时候,要好好学习,                ')  --一个人的时候,要好好学习,           

    05.rigim()清除右侧空格  

    select rtrim('         生活不是敷衍,       ')   --         生活不是敷衍,

    既想移除左边空格,也想移除右边空格:

    select rtrim(ltrim('         生活不是敷衍,       '))
    select ltrim(rtrim('   你知道吗!    '))

    06.substring('字符串',截取的位置,截取的长度)

    select substring('我是中国人,我爱自己伟大的祖国,真的',6,1)   --返回,

    07.right():从字符串右边返回指定类型的字符

         left():从字符串左边返回指定类型的字符

     

    select left('大家今天辛苦了,爱你们',3)   --大家今
    select right('大家今天辛苦了,爱你们',2)   --你们

     

    08.replace('str1','要替换的字符','目标字符'):

    select replace('我爱你,天尽头,虽然这很遥远,但是心不变','遥远','现实')  
    
      --我爱你,天尽头,虽然这很现实,但是心不变

    09.stuff('字符串',删除的起始位置,删除的长度,'插入的字符串')

    select stuff('我爱你中国,我爱你故乡',4,2,'北京')  --我爱你北京,我爱你故乡

    02.日期函数

    01.getdate():获取当前日期和时间

    select getdate()
    select dateadd(yy,1,getdate())

    02.dateadd(按年/月/日添加,增量,时间)

    select dateadd(yy,100,'2014-8-6')
    select dateadd(year,-20,getdate())

    03.datediff(按年/月/日求差,小时间,大时间)

    select datediff(dd,'1996-12-01',getdate())

    04.日期中指定日期部分的字符串形式

    select datename(mi,getdate())

    05.日期中指定日期部分的整数形式

    select datepart(yy,getdate())

    06.值 缩 写     

    Year              Yy              yyyy              

    Quarter         Qq              q                

    Month           Mm              m                 

    Day of year    Dy              y                 

    Day               Dd              d                

    Weekday       Dw              w                

    Week            Wk              ww                

    Hour              Hh              h                 

    Minute           Mi              n                 

    Second          Ss              s                 

    Millisecond     Ms                -           

      

    03.数学函数

    01.天花板(ceiling)   向上取整

    select ceiling(1.99)  --返回2

    02.地板(floor)  向下取整

    select floor(1.99)   --返回1   

    03.系统函数

    convert:用来转变数据类型

     select convert(varchar(32),111)
    --返回的是字符串'111'

    拜!回见!dear!!

  • 相关阅读:
    解决:insert Vodafone sim card,open the mms read report,when receive the read report,cann&#39;t download..
    为什么不记录慢速查询?
    [TypeScript] Understand lookup types in TypeScript
    [Angular] How to styling ng-content
    [Http] Understand what an HTTP Request is
    [AngularJS] Directive for top scroll bar
    [SCSS] Write Custom Functions with the SCSS @function Directive
    [SCSS] Loop Over Data with the SCSS @each Control Directive
    [GraphQL] Deploy a GraphQL dev playground with graphql-up
    [Javascript] Different ways to create an new array/object based on existing array/object
  • 原文地址:https://www.cnblogs.com/zhangzongle/p/4936581.html
Copyright © 2011-2022 走看看