-
SQL - 通过TSQL代码方式进行简单的数据查询 153
- 网站名称:SQL - 通过TSQL代码方式进行简单的数据查询 153
- 网站分类:技术文章
- 收录时间:2025-09-04 00:23
- 网站地址:
“SQL - 通过TSQL代码方式进行简单的数据查询 153” 网站介绍
数据查询:简单来说通过执行编写的TSQL代码查询出表中符合条件的数据,查询的出数据一般称为数据(结果)集,是一个结果集合(其中的数据是没有顺序的)
1 不带条件查询表中所有列的数据(也叫检索数据)
--简单查询数据的标准格式
select * from 表名
--select:意指查询/检索
--* : 代表所有列名
--from:意指从哪个表
--最后一次说明
--切换至要查询表随机所在的数据库
--否则报错(自行测试)
use School;
--查询出 Student 表中所有列的数据
select * from Student
--* 代替 Student 表中所有列名
--有时查询时不需要查询出所有列的数据
--可使用只查询指定列名的方式进行查询
--这样做也可以节省查询时间,提供查询数据的效率
--查询出 Student 表中指定列的数据
select SId, SName, SAge from Student
--每个列名间使用逗号间隔(半角英文状态下)
--也可以进行折行编写
select
SId, SName, SAge
from Student
--查询语句的执行顺序
--大致执行顺序从后向前,从左向右
1)from Student 确认从哪个表中获取数据
2)select SId, SName, SAge 再从1)筛选出指定列的数据
并不是从上到下依次执行
注意:除非必要,不要通过 不带条件,使用 * 查询表的所有数据(特别是数据非常多的表)
2 带条件的查询表中数据(现只针对单个表)需要使用到查询条件的基本条件符号
条件符号:用于SQL查询语句中筛选数据的关键字,通过它可以根据不同的条件符号来对表中数据进行筛选,可以使得使用者更加快速精准地得到我们所需的数据
最基本的条件符号
1) = (等于符号)用于筛选出符合条件的数据集
2) <> (不等于符号)与 =相反,用于筛选出不符合条件的数据集
3) > (大于符号)用于筛选出大于指定数值或日期的数据集
4) < (小于符号)用于筛选出小于指定数值或日期的数据集
5) >= (大于等于)用于筛选出大于等于指定数值或日期的数据集
6) <= (小于等于符号)用于筛选出小于等于指定数值或日期的数据集
7) and/or(逻辑运算符)用于多个条件的组合,可以筛选出两个条件的交/并集数据集
--1) = (等于符号)用于筛选出符合条件的数据集
select SId,SName,SAge from Student where SAge = 18
--2) <> (不等于符号)与 =相反,用于筛选出不符合条件的数据集
select SId,SName,SAge from Student where SAge <> 18
--3) > (大于符号)用于筛选出大于指定数值或日期的数据集
select SId,SName,SAge from Student where SId > 13
--4) < (小于符号)用于筛选出小于指定数值或日期的数据集
select SId,SName,SAge from Student where SId < 13
--5) >= (大于等于)用于筛选出大于等于指定数值或日期的数据集
select SId,SName,SAge from Student where SId >= 13
--6) <= (小于等于符号)用于筛选出小于等于指定数值或日期的数据集
select SId,SName,SAge from Student where SId <= 13
--7) and/or/not (逻辑运算符)用于多个条件的组合,可以筛选出两个条件的交/并/相反集数据集
--使用and得到两个条件的交集结果
select SId,SCId,SName,SAge from Student where SId <=5 and SCId = 3
--使用or 得到两个条件的并集结果
select SId,SCId,SName,SAge from Student where SId <=5 or SCId = 3
--使用 not 得到筛选条件结果的相反结果集
select SId,SCId,SName,SAge from Student where not(SId <=5)
3 (*了解即可)查询数据时可以通过 as 或 = 为表中的列名起个别名,但是这个别名只是基于列名的临时性"列名"只能应用于这个查询中(暂时)
--使用 as 为列名起别名(根据需要自定义有意义的别名)
select
SId as N'学生编号',
SName as N'学生姓名',
SAge as N'学生年龄'
from Student
--使用 = 为列名起别名
select
学生编号 = SId,
学生姓名 = SName,
学生年龄 = SAge
from Student
4 通过top/percent获取查询结果的前几条/百分之几(大于当前百分比的最近的整数)
--表中共有16条数据
--获取查询结果的前5条数据
select top 5 * from Student
--获取查询结果的前百分10% 条数据
--查询结果为1.12,实际查询出的数据为2条
select top 7 percent * from Student
注意:通过查询语句得到的数据并没有顺序(只是显示的有顺序)单独使用top意义不大
5 order by 排序语句,top语句一般与order by 语句合在一起连用(进行数据分页时经常使用 order by语句)
--order by 排序语句
--通过年龄降序升序排序(小到大,默认 asc可以省略)
select top 5 * from Student order by SAge asc
--通过年龄降序排序(大到小)
select top 5 * from Student order by SAge desc
--语句执行顺序
1)from Student 从此表中获取结果集
2)order by SAge asc/desc 对1)中数据进行升序/降序排序
3)select top 5 * 获取2)中结果集的前5条数据
知道其查询的执行顺序,查看其查询结果才不会迷惑
6 游标:是SQL的一种数据访问机制,游标是一种处理数据的方法
通过SQL的select查询语句返回的结果是一个包含一行或者是多行的数据集,如果要对查询的结果再进行查询如查看结果的第一行、上一行、下一行、最后一行等等操作
使用select语句无法完成的其操作结果,因为这时要查询的结果不再是针对数据表,而是针对已经查询出来的结果集,游标就是针对这种情况而出现的
可以将" 游标"简单的看成是结果集中的一个指针,我们可以根据需要通过此"指针"在结果集中来回移动获取需要的数据
--未进行排序,查询结果为无顺序的集合
select * from Student
--进行排序,查询结果为有顺序的称为游标
select * from Student order by SAge
--虽然最终结果相同,但是查询的结果是不同的
更多相关网站
- 28个SQL常用的DeepSeek提示词指令,码住直接套用
- 谁帮我看看,为啥我的PostgreSQL查询速度这么慢???
- Pandas有哪些命令比SQL查询更高效?
- 数仓|四个在工作后才知道的SQL密技
- 黑客小白的进阶之路——SQL注入之MySQL时间注入
- SQL入门知识篇_sql入门语句
- 表格存储 SQL 查询多元索引_sql多表查询的含义
- 使用SQL-Server分区表功能提高数据库的读写性能
- 数据库 SQL 高级用法(二)_高级sql语句
- SQL server查询-扩展查询_sqlserver范围查询
- 掌握SQL基础查询:(二)_sql基本查询语句大全
- SQL时间重叠_sql两个时间字段差
- SQL_日期函数_sql日期函数
- SQL 的核心目标是 高效获取每个分组中最新时间对应的记录
- SQL练习超详解——窗口函数+时间函数+子查询...
- 最近发表
- 标签列表
-
- mydisktest_v298 (35)
- sql 日期比较 (33)
- document.appendchild (35)
- 头像打包下载 (35)
- 梦幻诛仙表情包 (36)
- java面试宝典2019pdf (26)
- disk++ (30)
- 加密与解密第四版pdf (29)
- iteye (26)
- centos7.4下载 (32)
- intouch2014r2sp1永久授权 (33)
- jdk1.8.0_191下载 (27)
- axure9注册码 (30)
- 兔兔工程量计算软件下载 (27)
- ccproxy破解版 (31)
- aida64模板 (28)
- engine=innodb (33)
- shiro jwt (28)
- segoe ui是什么字体 (27)
- head first java电子版 (32)
- clickhouse中文文档 (28)
- jdk-8u181-linux-x64.tar.gz (32)
- 计算机网络自顶向下pdf (34)
- -dfile.encoding=utf-8 (33)
- jdk1.9下载 (32)