今天来带大家了解下在sql server 中的查询机制

使用select语句进行查询

1.查询所有的数据行和列

select  *  from student

2.查询部分行和列

select scode,sname,saddress
from * student
where saddress='北京'

3.在查询中使用列的别名

select scode as 学生编号,sname as 姓名 ,saddress as 地址
from student
where saddress<>'北京'

4.查询空值

select sname from student
where semail is null

5.在查询中使用常量

select 姓名=sname ,地址=saddress,'汉族' as 民族
from student

6.查询返回限制的函数

select top 5 sname, saddress
from student
where Ssex=0

查询排序

如何使用order by

如果要按照一定顺序排列查询语句选中的行,则需要使用order by 字句,并且排序可以是升序(asc)可以是降序(desc),

eg:   将学生成绩按照升序排列

select studentID as 学生编号, CourseID as 课程ID,Score as 成绩

from Score 

where Score >60

order by Score,CourseID

在查询中使用函数

1.字符串函数

函数名称:
1.CharIndex('str1','str2',index)//位置从开始
--第一个参数:要查询的字符串
--第二个参数:在哪个字符串中搜索
--第三个参数:从str2的第几个字母开始搜索
--注意点:如果在str2中没有找到str1,那么返回
eg:
SELECT CHARINDEX('JBNS','My Jbns Course')
2.len():获取小括号中字符串的长度,空格也算一个字符长度
eg:
SELECT LEN('SQL Server课程')
3.upper():将括号中出现的英文全部转换成大写
eg:
select upper('i can speak english.你能吗?')
select lower('I HAVE A DREAM')
4.LTrim():清除括号中内容左边的空格(left:right)
eg:
select rtrim(' 生活不是林黛玉, ')
5.既想移除左边空格,也想移除右边空格
eg:
select rtrim(ltrim(' 生活不是林黛玉, '))
select ltrim(rtrim(' 你还好吧! '))
6.思路灵活
eg:
select len(rtrim('今年奇怪了,北京没下雪,去去去 '))
7.substring('字符串',截取的位置,截取的长度)
eg:
select substring('我是中国人,我爱自己伟大的祖国,真的',6,1)
8.right():从字符串(左)右边返回指定类型的字符
eg:
select left('大家今天好像都没有交日记本,我去',3)
select right('大家今天好像都没有交日记本,我去',2)
9.replace('str1','要替换的字符','目标字符'):
eg:
select replace('张海迪,残疾人,虽然手不残疾,但是X残疾','残 疾','好')
10.stuff('字符串',删除的起始位置,删除的长度,'插入的字符串')
eg:
select stuff('我爱你中国,我爱你故乡',4,2,'北京')

2.日期函数

1.getdate():获取当前日期和时间
eg:
select getdate()
2.dateadd(按年/月/日添加,增量,时间)
eg:
select dateadd(yy,100,'2014-8-6')
select dateadd(year,-20,getdate())
3.datediff(按年/月/日求差,小时间,大时间)
eg:
select datediff(year,'1998-01-01',getdate())
4.datename:获取某个日期是星期几
eg:
select datename(dw,'2014-08-06')
5.datepart(mm,日期):获取指定日期对应的年/月/日部分
eg:
select datepart(yy,getdate())
通过该方式也可以获取当天是周几
eg:
select datepart(dw,getdate())

3.数学函数

1.rand():产生一个到之间的随机数
eg:
select right(rand(),4)
2..abs:取绝对值
eg:
select abs(-10)
select abs(10)非负数
3.ceiling:天花板,你要看天花板,抬头,向上取整
eg:
select ceiling(1.999991)
4.floor:向下取整
eg:
select floor(1.999999)
select ceiling(1.000000000000001)
select floor(2.999999999999999)
5.power(5,2)求幂值
eg:
select power(4,4)
select 1*2/3+5-56+100-5/100
select power(2,3)
6.round:将一个数字四舍五入到指定精度
eg:
select round(42.564,1)
7.sign:如果括号中写的是一个正数,返回,如果是负数,返回-1
eg:
--如果是返回
select sign(20)
select sign(0)
8.sqrt()开平方
eg:
select sqrt(9)

4.常用的系统函数

convert:(用来转换数据类型)
eg:
select convert (varchar(5),12345)
返回:字符串''

ok 精彩的代码分析时间就到这里,请持续关注哦!

T-SQL查询基础的更多相关文章

  1. 2 SQL 查询基础

    2 查询基础 2-1 SELECT语句基础 通过SELECT语句查询并选取必要数据的过程称为匹配查询或查询(query). 子句是SQL语句的组成要素,是以SELECT或者FROM等作为起始的短语. ...

  2. SQl查询基础

    SQL语言是一门简单易学却又功能强大的语言,他让你快速上手并写出比较复杂的查询语句,但对于大多数开发者来书,使用SQL查询数据库并没有一个抽象的过程和一个合理的步骤,这很可能会是在写一些特定的查询语句 ...

  3. (25)ASP.NET Core EF查询(复杂查询运算符、原生SQL查询、异步查询)

    1.复杂查询运算符 在生产场景中,我们经常用到LINQ运算符进行查询获取数据,现在我们就来了解下生产场景经常出现几种复杂查询运算符. 1.1联接(INNER JOIN) 借助LINQ Join运算符, ...

  4. EF core的原生SQL查询以及用EF core进行分页查询遇到的问题

    在用.net core进行数据库访问,需要处理一些比较复杂的查询,就不得不用原生的SQL查询了,然而EF Core 和EF6 的原生sql查询存在很大的差异. 在EF6中我们用SqlQuery和Exe ...

  5. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  6. 【T-SQL基础】01.单表查询-几道sql查询题

    概述: 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础 ...

  7. SQL server基础知识(表操作、数据约束、多表链接查询)

    SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database ...

  8. 15个初学者必看的基础SQL查询语句

    本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 本文将分享15个初学者必看的基础SQL查询语句,都很基础,但是你不一定都会,所以好好看看吧. 1.创建表和数据插 ...

  9. SQL高级查询基础

    1.UNION,EXCEPT,INTERSECT运算符 A,UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表. ...

  10. MySQL 笔记整理(1) --基础架构,一条SQL查询语句如何执行

    最近在学习林晓斌(丁奇)老师的<MySQL实战45讲>,受益匪浅,做一些笔记整理一下,帮助学习.如果有小伙伴感兴趣的话推荐原版课程,很不错. 1) --基础架构,一条SQL查询语句如何执行 ...

随机推荐

  1. Spring AOP 学习(五)

    1. 使用动态代理实现AOP package com.atguigu.spring.aop; import java.lang.reflect.InvocationHandler; import ja ...

  2. 【codeforces 3C】Tic-tac-toe

    [链接] 我是链接,点我呀:) [题意] 题意 [题解] 写一个函数判断当前局面是否有人赢. 然后枚举上一个人的棋子下在哪个地方. 然后把他撤回 看看撤回前是不是没人赢然后没撤回之前是不是有人赢了. ...

  3. 【Codeforces 567D】One-Dimensional Battle Ships

    [链接] 我是链接,点我呀:) [题意] 长度为n的一个序列,其中有一些部分可能是空的,一些部分是长度为a的物品的一部分 (总共有k个长度为a的物品,一个放在位置i长度为a的物品会占据i,i+1,.. ...

  4. 抽象类和接口有什么区别---https://blog.csdn.net/csdn_aiyang/article/details/71171886

    https://blog.csdn.net/csdn_aiyang/article/details/71171886 概念]   抽象类.具体类是相对的,并非绝对的.抽象是一种概念性名词,具体是一种可 ...

  5. poj 2114 树的分治 可作模板

    /* 啊啊啊啊啊啊啊本题证明一个问题,在实际应用中sort比qsort块 还有memset这类初始化能不加尽量别加,很浪费时间 原来的程序把qsort该成sort,去掉一个无用memset就a了时间不 ...

  6. [NOI2000] 单词查找树

    ★★   输入文件:trie.in   输出文件:trie.out   简单对比 时间限制:1 s   内存限制:128 MB 在进行文法分析的时候,通常需要检测一个单词是否在我们的单词列表里.为了提 ...

  7. codevs 1296 营业额统计 (splay 点操作)

    题目大意 每次加入一个值,并且询问之前加入的数中与该数相差最小的值. 答案输出所有相差值的总和. 解题分析 = = 参考程序 #include <bits/stdc++.h> using ...

  8. Django搭建简单的站点

    1.首先.新建一个项目(project), 名称为 mysite django-admin startproject mysite(假设 django-admin 不行,请用 django-admin ...

  9. 传智播客JDBC视频教程

    视频介绍: 一些视频教程通过浅显案例来让刚開始学习的人感到轻松,可是课程中编写的代码不能直接应用于项目中:而本套视频教程正好相反,视频解说者李勇老师以技术见长.性格朴实无华.不善于幽默搞笑.李勇老师编 ...

  10. 【Android】资源系列(一) -- 国际化(多语言)

    1.Android 中要实现国际化比較简单.     字符串国际化:仅仅要在 res 目录下新建相应语言的 values 目录就好了.     如.英语环境下的.目录命名为:values-en     ...