sql server数据库 T-SQL查询语句(基本篇)

接上篇sql server 数据库增删改查(库与表)

  • 删除数据
    delete 表名 where 查询条件

T-sql查询语句

  • T-sql语句

增强版的sql语句,增加了更多的函数应用,流程控制,变量说明等功能。

  • 构成
    DML:数据操纵语言,对数据的管理操作。
    insert update delete select

    DDL:数据定义语言,对数据库和表结构进行操作管理的语言
    create alter drop

    DCL:数据控制语言,对数据的访问权限进行管理的语言
    grant revoke

=	等于
>	大于
<	小于
>=	大于等于
<=	小于等于
<>	不等于
!=	不等于
  • 查询语句

  • select 查询项(想要显示的字段名)
    from 表名
    where 查询条件
    group by 分组字段(一般用于使用聚合函数的查询语句中)
    having 二次查询语句(对聚合函数统计后的数据进行二次查询)
    order by 排序字段(根据指定字段进行升序aes或降序desc排序)

  • 投影查询

注:没有任何条件,通过用户定义的查询项,或字段排列顺序,显示表中所有记录

例:

显示dang_an表中的指定字段的数据。

select age,name,sex from dang_an

显示dang_an表中的所有数据

select * from dang_an

显示dang_an表中前n行数据,n为自定义行数

select top 3 * from dang_an
  • 条件查询
注:在投影查询的基础上增加筛选条件,数据库会通过遍历查询的过程,筛选和显示所有满足条件的记录。
  • 查询条件表达式: 字段名 运算符 常量

例:

查询李晨的信息

select * from dang_an where name='李晨'

查询年龄介于20到35之间的员工信息

select * from dang_an where age>=20 and age<=35
或
select  * from dang_an where age between 20 and 35
  • 模糊查询(like)
在查询语句中,使用通配符来代替条件值中的某一部分数据。

通配符是什么?

linux和windows系统中:
_ 	代替任意一个字符,可以连续使用,不能代替空值	
%	 代替任意一组字符,可以代替空值
?    代替任意一个字符,不能连续使用,不能代替空值
*代替任意一组字符,最少0个字符,最大128个字符(以文件名长度为标准)

例:

查询所有姓张的员工信息
select * from dang_an where name like '张%'


[ ]  指定范围查询字符串范围
[0-1]	[0-9]	[a-f]	[abcdef]	

例:select name from dang_an where name like '王[非肥菲]'

[^]	反向取值,除了。。。以外的
  • 空值查询
  • 首先做空值
insert into dang_an(id,name,sex,age,zw_id,jg_id)
values (11,'大海','男',38,1,1)
  • 查询
select * from dang_an where csny is null
  • 查询结果排序(order by)
:ASC表示升序(默认),DESC表示降序。

例:

显示档案信息,按ID号降序排序。
select * from dang_an order by id desc
  • between and 介于两个数之间(包括两边)
select * from dang_an where age between 25 and 35
  • 多表查询
注:查询语句中的查询项来自于多张表,或者查询条件来自多张表时,需
要对多张表之间建立引用关系,并且标记每个字段来源与哪张表,在from
后指定所有涉及到的表名。

例:(需要建立对等关系)

查询员工的ID,name,sex,zhiwei信息

select dang_an.id,dang_an.name,dang_an.sex,zhiwei.zw 
from dang_an,zhiwei
where dang_an.zw_id=zhiwei.zw_id 
  • 小扩展(嵌套查询)
    在一个查询语句中,条件值是未知的。需要通过另一个查询语句得到值。
    (多个结果用in)
    例:
查询与陈赫职位相同的员工的姓名与7月份考核分数。
select dang_an.name,kaohe.kaohe,zhiwei.zw
from dang_an,kaohe,zhiwei
where dang_an.id=kaohe.id and
dang_an.zw_id=zhiwei.zw_id and
kaohe.yue=7 and
zhiwei.zw  in (select zhiwei.zw from dang_an,zhiwei where
dang_an.zw_id=zhiwei.zw_id and
dang_an.name='陈赫')
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

妳好,y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值