Sql Server查询语句

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介: Sql Server查询语句

Sql Server查询语句

对于Sql Server创建的表中的数据进行查询,可以进行,基础查询,条件查询,模糊查询

基础查询

基础查询语句为:select *from 表名

select *from 表名
表示查询表中的所有数据
-- 查询指定列(姓名、生日、月薪、电话)
select PeopleName,PeopleSex,PeopleBirth,PeopleSalary,PeoplePhone from People
-- 表示从People表中查询指定的列
-- 当我们需要查询指定列,并显示别名的时候(自定义别名)
select PeopleName 姓名,PeopleSex 性别,PeopleBirth 生日,PeopleSalary 薪水,PeoplePhone 电话 from People
-- 查询出员工所在的城市(不需要重复的数据显示) 关键字 distinct
select distinct (PeopleAddress) from People
-- 假设查询出来加工资前和加工资后员工数据对比
select PeopleName 姓名, PeopleSex 性别,PeopleSalary 原始工资,PeopleSalary*1.2 加薪后的工资 from People

条件查询

对于查询的列或者表,进行条件赛选,得到我们所需的数据

SQL语句基础的运算符

-- SQL常用的运算符
= :等于表示是否相等或者赋值
!=:表示不相等
>,<,>=,<= :分别表示大于,小于,大于等于,小于等于
is null:表示为空
is not null:表示不为空
in:表示是否在其中
like:模糊查询
between...and...:比较是否在两者之间
and:逻辑与(两者必须都成立,条件才成立)
or:逻辑或(两者成立一个则条件成立)
not:逻辑非(条件成立,加not后表示表达式不成立)
-- and or not 其实相当于C语言中的&& || !
对于上述的运算符的合理运用,便能组合成条件,进行条件查询

上述运算符是基础,必须要掌握,下面是演示代码

-- 根据指定列(姓名,性别)查询女性员工
select PeopleName 姓名,PeopleSex 性别 from People where PeopleSex='女'
-- 查询月薪在10000-15000范围的男性员工
select PeopleName 姓名,PerPleSex 性别,PeopleSalary 薪水 from People where PeopleSex='男' and PeopleSalary >=10000 and PeopleSalary<=15000
-- 使用between....and...来实现上述语句
select PeopleName 姓名,PerPleSex 性别,PeopleSalary 薪水 from People where PeopleSex='男' and PeopleSalary between 10000 and 15000
-- 查询女性员工的薪水,并按照降序排序
-- 排序查询的语法,select *from 表名 order by 列(被排名的基准列)desc(默认是asc)
-- asc:升序(默认值,可以不写)desc:降序
select PeopleName 姓名,PerPleSex 性别,PeopleSalary 薪水 from People where PeopleSex='女' order by PeopleSalary desc
-- 我们对于员工的生日日期,规范使用的是“1988-1-1”(模板)
-- 三个内置函数,year(PeopleBirth),month(PeopleBirth),day(PeopleBirth),分别表示取得PeopleBirth的年月日
-- 如果我们需要查询员工是00后,并按照薪水的升序排列
select PeopleName 姓名,PeopleSex 性别,PeopleSalary 薪水,PeopleBirth 生日 from People where year(PeopleBirth) between 2000 and 2009 order by
-- 如果我们要得到员工的年龄:year(gettime())-year(PeopleBirth)
select PeopleName 姓名,PeopleBirth 生日 from People year(gettime())-year(PeopleBirth) between 30 and 40 
-- 上述查询30-40岁的员工信息
-- 查询和某一员工相同地址的所有员工信息
select *from People where PeopleAddress=(select PeopleAddress from People where PeopleName='xxx')
-- 上述语句说明,查询语句本身就是可以作为一个条件,将查询的内容,作为条件

如果我们想要得到同一属性的员工数据,可以根据年龄,使用case end语句

-- case 相当于C语言中switch
-- end是结尾关键字
-- 在case后面可以输入数据,然后在case里,使用when...then来表示C语言中的if语句,else表示为C语言中的default
-- 比如我们这个员工的表格年份是从1984年开始的,1984年是鼠
-- 鼠 牛 虎 兔 龙 蛇 马 羊 猴 鸡 狗 猪
-- 0  1  2  3  4 5 6  7  8 9 10 11
-- 如果我们想要员工属鼠的数据
select *from People where year(PeopleBirth)%12=0
-- 我们显示所有人的属象,那么就根据%以及case...end语句来判断
select *,
case (year(PeopleBirth)%12)
  when 0 then '鼠'
  when 1 then '牛'
  when 2 then '虎'
  when 3 then '兔'
  when 4 then '龙'
  when 5 then '蛇'
  when 6 then '马'
  when 7 then '羊'
  when 8 then '猴'
  when 9 then '鸡'
  when 11 then '狗'
  when 12 then '猪'
 else''
end 生肖
from People

模糊查询

模糊查询使用like关键字以及通配符来实现,下面是通配符

-- % :代表匹配任意字符(包括0)
-- _:表示匹配的字符有且只有一个
-- []: 代表匹配范围内   [1,2,3] 表示匹配数据中相关列的1 2 3数据的成员
-- [^]:表示匹配不在该范围内

下面是详细例子使用like和通配符来实现模糊查询

1.查询员工中姓王的员工
select *from People where PeopleName like '王%' --可以是王磊,王二狗等,以王头即可
2.查询电话号码,以138开头,以5181结尾
select *from People where PeoplePhone like '138%5181' and len(PeoplePhone)=13 --中间字符是任意的,且保证为13位数字
3.找到名字里面有’红‘的员工
select *from People where PeopleName like '%红%'
-- substring(PeopleName,1,1) 表示在PeopleName数据中从第一个位置,选择一个字符的数据


相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
相关文章
|
4天前
|
SQL 移动开发 Oracle
SQL语句实现查询连续六天数据的方法与技巧
在数据库查询中,有时需要筛选出符合特定时间连续性条件的数据记录
|
11天前
|
SQL Java 数据库连接
如何使用`DriverManager.getConnection()`连接数据库,并利用`PreparedStatement`执行参数化查询,有效防止SQL注入。
【10月更文挑战第6天】在代码与逻辑交织的世界中,我从一名数据库新手出发,通过不断探索与实践,最终成为熟练掌握JDBC的开发者。这段旅程充满挑战与惊喜,从建立数据库连接到执行SQL语句,再到理解事务管理和批处理等高级功能,每一步都让我对JDBC有了更深的认识。示例代码展示了如何使用`DriverManager.getConnection()`连接数据库,并利用`PreparedStatement`执行参数化查询,有效防止SQL注入。
47 5
|
12天前
|
SQL 数据挖掘 数据库
SQL查询每秒的数据:技巧、方法与性能优化
id="">SQL查询功能详解 SQL(Structured Query Language,结构化查询语言)是一种专门用于与数据库进行沟通和操作的语言
|
12天前
|
SQL 移动开发 大数据
SQL语句查询连续六天满足条件的记录
在数据库管理和数据分析中,我们经常需要查询符合特定时间范围内连续几天的记录
|
14天前
|
SQL 数据挖掘 关系型数据库
SQL查询次数大于1的记录:高效技巧与方法
在数据库管理中,经常需要统计某些操作的次数,特别是当需要找出哪些记录或值出现的次数超过一定阈值(如大于1次)时
|
14天前
|
SQL 存储 安全
SQL查询数据库:基础概念与操作指南
在数字化时代,数据库已成为信息管理的重要工具之一。作为管理和操作数据库的核心语言,SQL(结构化查询语言)已成为数据管理和查询的关键技能。本文将全面介绍SQL查询数据库的基本概念、语句和操作指南,以帮助初学者快速上手,同时为进阶用户提供有价值的参考。一、数据库与SQL简介数据库是一种存储、管理和检索
27 3
|
14天前
|
SQL 数据库
SQL查询中排除空值列的技巧与方法
在数据库查询中,经常需要处理包含空值(NULL)的数据列
|
14天前
|
SQL Oracle 关系型数据库
SQL查询默认表空间的技巧与方法
在数据库管理中,表空间是存储数据库对象(如表、索引等)的逻辑空间单元
|
15天前
|
SQL 存储 缓存
SQL数据库查询详解
数据库是现代信息社会的基石,它们存储和管理着大量的数据。而SQL(StructuredQueryLanguage)作为一种强大的数据库查询语言,广泛应用于各种数据库系统中。本文将详细介绍SQL数据库查询的基本概念、语法、常用操作以及优化策略。一、SQL数据库查询概述SQL是一种用于管理关系数据库的标
67 3
|
16天前
|
SQL 存储 数据挖掘
SQL Server 日期格式查询详解
SQL Server 日期格式查询详解
83 2