系统函数:

字符串函数:

select '运维工程师' + 姓名+ '的基本工资是:' +CAST (基本工资 as varchar(10))+'元'
from A1
where 职务='运维工程师'
#显示A1表中所有运维工程师的姓名和基本工资,要求的显示格式是
运维工程师 某某 的基本工资是 9000.00元

日期函数:

select DATEADD(dd,10,GETDATE())
#显示距离当前10天之后的日期和时间
select 姓名,DATEDIFF (YY,出生日期,GETDATE ()) AS 年龄 from A1
#显示A1表中所有人的姓名和年龄
select 姓名,DATENAME(YY,出生日期) AS 出生年份
from A1
where 出生日期 between '1990-1-1' and '1999-12-31'
#显示A1表中所有90后员工的姓名和出生年份

聚合函数:

select SUM(基本工资) AS 总工资 from A1
#查询A1表中所有员工基本工资的总和
select AVG(基本工资) AS 平均工资 from A1
#查询A1表中所有员工的平均基本工资
select MAX (基本工资) AS 最高工资,MIN (基本工资) AS 最低工资 from A1
#查询A1表中最高和最低的基本工资
select COUNT (*) AS 总行数 from A1
#查询A1表中全部行数
select COUNT (出生日期) AS '90后人数'
from A1
where 出生日期 >='1990-1-1'
#查询A1表中90后的员工人数

分组查询:

select 职务,AVG (基本工资) AS 职务平均工资 from A1
group by 职务
#查询A1表中每个职务的平均工资
select 职务,AVG (基本工资) AS 职务平均工资 from A1
group by 职务
having AVG (基本工资) <10000
#查询A1表中平均工资小于10000的职务
select 职务,AVG (基本工资) AS 职务平均工资 from A1
where 姓名 !='小张'
group by 职务
having AVG (基本工资)<10000
#查询A1表中平均工资小于10000的职务,但是不包括小张

数学函数:

select CEILING (AVG (基本工资)) AS 平均工资 from A1
#查询A1表中所有人的平均工资,用 CEILING()取整
select 姓名,生日,DATEDIFF(yy,生日,getdate())  年龄, DATEDIFF(dd,getdate(),DATEADD(yy,30,生日))
as  距离30岁天数 from A1
where DATEDIFF(yy,生日,GETDATE())<=30
order by 生日
#查询未满30岁的员工生日和年龄,并且计算出距离30岁的天数,以表格的形式显示
select
'员工 '+姓名+
' 的生日是'+CONVERT(varchar(10),出生日期,111)+
',现在的年龄是 '+CAST(DATEDIFF (YY,出生日期,GETDATE ())  AS varchar(10))+'岁'+
',距离30岁生日还有 '+
CAST(DATEDIFF(DD,GETDATE (),DATEADD(yy,30,出生日期)) AS varchar(10))+'天'
from A1
where DATEDIFF (YY,出生日期,GETDATE ())<=30
order by 出生日期
#查询未满30岁的员工生日和年龄,并且计算出距离30岁的天数,将结果使用字符串拼接在一起 
select   名称, 种类,出厂日期          from  A1
where  出厂日期>'2017-4-1'
#查询A1表中出厂日期晚于2017年4月的水果信息
select  种类,   SUM(成本)  as   总成本   from  A1
group   by   种类
#分组查询A1表中所有水果、蔬菜、坚果的总成本
select  名称+'的出厂日期是:'+CONVERT(varchar(10),出厂日期,111)    from  A1
where  种类='水果'
#查询A1表中所有水果的名称和出厂日期,以特定格式拼接字符串,如“西瓜的出厂日期是:2017/05/06”
select   种类,        AVG(成本)  as  平局成本   from   A1
group  by   种类
having   种类='蔬菜'
#查询A1表中所有蔬菜的平均成本

多表查询
内联接:只返回两个数据几个之间匹配关系的行,关键字是“inner join”
内联接实现的两种方法

select A.姓名,A.学校,B.职业
from A,B
where A.姓名=B.姓名
#在表A和表B中使用内连接查询学生姓名、学校和职业
select A.姓名,A.学校,B.职业
from A inner join B
on A.姓名=B.姓名
#在表A和表B中使用内联接查询学生姓名、学校和职业

第二种方法可以加“where”子句
外联接:
左外联接:
左侧表位于主表,关键字是“left join”
实现方法

select A.姓名,A.学校,B.职业
from A left  join B
on A.姓名=B.姓名

右外联接:右侧表位于主表,关键字是“right join”
实现方法

select A.姓名,A.学校,B.职业
from A right join B
on A.姓名=B.姓名

完整外联接:左右表都为主表,关键字“full join”

select A.姓名,A.学校,B.职业
from A full  join B
on A.姓名=B.姓名

交叉联接:无条件联接,就是左表中的每行和右表对应,相当于两个表相乘,关键字是“cross join”

select A.姓名,A.学校,B.职业
from A  cross  join B
on A.姓名=B.姓名

转载于:https://blog.51cto.com/14157628/2402347

T-SQL高级查询语句相关推荐

  1. mysql筛选字符个数为8的_听说Mysql你很豪横?-------------分分钟带你玩转SQL高级查询语句(常用查询,正则表达式,运算符)...

    一 . 常用查询介绍 1.创建表结构并插入内容 创建一个表 里面有id 毕业院校 家庭住址 name mysql> create table gou(id int primary key,sch ...

  2. SQL Server SQL高级查询语句小结(转)

    --select select * from student; --all 查询所有 select all sex from student; --distinct 过滤重复 select disti ...

  3. mysql round 0.1111_听说Mysql你很豪横?-------------分分钟带你玩转SQL高级查询语句(库函数,存储过程)...

    一 .数据库函数 MySQL 数据库函数提供了能够实现各种功能的方法,使我们在查询记录时能够更高效的输出.MySQL 内建了很多函数,常用的包括数学函数.聚合函数.字符串函数和日期时间函数. 1 数学 ...

  4. sql 高级查询语句总结

    –这是一个学生成绩管理系统,创建数据库表语句在最后,表包括四张表tblStudent 学生信息表,tblScore 成绩表 ,tblteacher 教师信息表,tblcourse 课程表  –希望大家 ...

  5. SQL Server SQL高级查询语句小结

    Ø 基本常用查询 --select select * from student; --all 查询所有 select all sex from student; --distinct 过滤重复 sel ...

  6. SQL高级查询(层次化查询,递归)

    SQL 高级查询 前面我们写了一下 SQL 的极简入门,今天来说点高级查询.没看到的朋友可以点击下面链接查看. 1 小时 SQL 极速入门(一) 1 小时 SQL 极速入门(二) 1 小时 SQL 极 ...

  7. MySQL高级查询语句——超详细,一篇就够了

    MySQL高级查询语句 一.MySQL进阶查询 1.1.按关键字排序--order by 1.2.对结果进行分组--group by 1.2.1.单个分组 1.2.2.分组结合order by使用 1 ...

  8. mysql的高级查询语句

    内容预知 1.本文前言 2. 高效查询方式 2.1 指定指字段进行查看 2.2 对字段进行去重查看 2.3  where条件查询 2.4  and 和 or 进行逻辑关系的增加 2.5 查询取值列表中 ...

  9. mysql五补充部分:SQL逻辑查询语句执行顺序

    mysql五补充部分:SQL逻辑查询语句执行顺序一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析 一 SE ...

  10. 如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集

    如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集?(2006-12-14 09:25:36) 与这个问题具有相同性质的其他描述还包括: 如 ...

最新文章

  1. z-index的最大值、最小值
  2. 最后一天,最后一刻。。。。。。情理之中,意料之外。。。。。。
  3. 在c语言中函数的定义变量的值为,变量定义(C语言中变量的声明和定义)
  4. java jdk实现快速排序_Java实现快速排序过程分析
  5. 一个分布式服务器集群架构方案
  6. 浦发网银安装显示连接服务器失败,上海浦东发展银行网上银行登录失败怎么办...
  7. CentOS 7虚拟机支持virsh console访问
  8. DSP28335定时器学习
  9. Python给自己写一款不一样的吃鸡“外挂”!把把吃鸡绝不封号
  10. 一种正负2.5V电源设计方案(TL431+SGM3207)
  11. 迅雷虚拟服务器,迅雷离线服务器UA
  12. ZT一篇从普华永道离开的人的文章:闲话我在普华永道的岁月
  13. YOLO v3源码详解
  14. 使用 Docker 搭建 mysql 数据库
  15. 代码弱鸡竟然在CSDN写烘焙博客
  16. Linux之core dumped出错原因及位置分析
  17. 非系统APK很多权限受限制,如何让APK成为系统APK
  18. 数据库闯新世纪----施伯乐、周傲英、朱杨勇
  19. 74hc165C语言程序,74hc165级联用法(74hc165级联电路图及程序)
  20. Lucene 开发手册

热门文章

  1. nginx 参数、变量和例子
  2. 由IDC机房测试谈主动工作教学实战案例!
  3. 培养女人味的12条妙方
  4. Alain 菜单权限控制
  5. ubuntu for win10 里运行apache+php
  6. dataguard备库的数据文件的迁移
  7. SQL Server-SQL事务处理(Stransaction)
  8. C# DES加密/解密类
  9. (转)学习directx遇到的问题
  10. 互联网的未来之上:平权的互联网