SqlServer--数据检索(查询)

use  MyDataBase1

-- * 表示显示所有列

-- 查询语句没有加where条件表示查询所有行

select *from TblStudent

---只查询表中的部分列

select tsid,tsname,tsgender from TblStudent

--根据条件,只查询部分行(使用where条件筛选部分行显示)

select * from TblStudent where tsclassId=5

--为查询结果集中的列起别名

select tsid as 学生编号,tsname as 学生姓名,tsgender as 性别 from TblStudent

--也可以这样排列

select

tsid as 学生编号,

tsname as 学生姓名,

tsgender as 性别

from TblStudent

select

tsid ‘(学生 编号)‘, --可以输出空格

tsname 学生 姓名, --不能输出空格

tsgender 性别

from TblStudent

select

学生编号=tsid,

学生姓名=tsname,

性别=tsgender

from TblStudent

select

学生编号=tsid,

学生姓名=tsname,

性别=tsgender,

婚否=‘否‘

from TblStudent

--并不是说select必须配合from一起来使用,可以单独使用select

select

当前系统时间=getdate()

select

班长=‘严蒙‘,

班花=‘待定‘,

班草=‘待定‘,

班主任=‘宋词‘

--distinct关键字,针对已经查询出的结果然后去除重复

select distinct * from TblStudent

select distinct tsname,tsgender,tsaddress from TblStudent

时间: 2024-11-05 21:41:34

SqlServer--数据检索(查询)的相关文章

SQLserver分页查询实例

Sqlserver数据库分页查询一直是Sqlserver的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID.YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页查询每页30条,查询第1500页(即第45001-45030条数据),字段ID聚集索引,YEAR无索引,Sqlserver版本:2008R2 第一种方案.最简单.普通的方法: SELECT TOP 30 * FROM ARTICLE WHERE ID NOT IN(SELECT TOP 45000 ID

SQLServer 分组查询相邻两条记录的时间差

原文:SQLServer 分组查询相邻两条记录的时间差 首先,我们通过数据库中表的两条记录来引出问题,如下图 以上为一个记录操作记录的表数据.OrderID为自增长列,后面依次为操作类型,操作时间,操作人. 现在的问题是:要求筛选出数据库中从“接收”到“送出”的时间差超过2天的全部记录.即如上图两笔单据中,红色框既是要筛选出的,绿色框为正常过滤的. 为了定位相邻记录,方法为给查询语句的返回记录加个自动编号列放入临时表中,再对临时表进行操作. --1.首先查出表中符合條件的所有信息 select

SQLServer分页查询存储过程

项目中用到的SQLServer分页查询存储过程. [存储过程] create PROCEDURE prcPageResult -- 获得某一页的数据 -- @currPage int = 1,                         --当前页页码 (即Top currPage) @showColumn varchar(2000) = '*',           --需要得到的字段 (即 column1,column2,......) @strCondition varchar(200

sqlserver分页查询

SQL Server 2005引入的新方法. SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY keyField DESC) AS rowNum, * FROM tableName) AS t WHERE rowNum > start AND rowNum <= end 其中: keyField为表tableName的一个字段(最好是主键): tableName为查询的表名: DESC可以按需换为ASC: start为要取的结果集的起始记录 en

SqlServer 一个查询语句以致tempdb增大55G (转载)

SqlServer 一个查询语句导致tempdb增大55G 今天操作着服务器,突然右下角提示“C盘空间不足”! 吓一跳!~ 看看C盘,还有7M!!!这么大的C盘空间怎么会没了呢?搞不好等下服务器会动不了! 第一反应就想可能是日志问题,很可能是数据库日志问题 于是查看日志,都不大,正常. dbcc sqlperf(logspace) 看看系统报错: 是tempdb问题,但是刚才看日志才几M,根据提示查看日志状态: select name,log_reuse_wait_desc from sys.d

SQLServer中查询的数字列前面补0返回指定长度的字符串

SQLServer中查询的数字列前面补0返回指定长度的字符串: 如: 角本如下: /****** Script for SelectTopNRows command from SSMS ******/ SELECT TOP 1000 [ID] ,[SN] ,[Name] FROM [EduDB].[dbo].[TestTab] select Right('0123456',SN) from TestTab; select RIGHT(REPLICATE('0',5)+CAST(SN AS var

MySQL数据检索+查询+全文本搜索

[0]README 0.1)本文部分文字描述转自"MySQL 必知必会",旨在review"MySQL数据检索+查询+全文本搜索" 的基础知识: [1]使用子查询 1)查询定义:任何sql 语句都是查询.但此术语一般指 select语句:SQL 还允许创建子查询,即嵌套在其他查询中的查询: 2)利用子查询进行过滤(where子句,in子句) 2.1)可以把一条select语句返回的结果用于另一条select语句的where子句: 3)作为计算字段使用子查询 3.1)

JAVA入门到精通-第59讲-sqlServer基本查询

sqlServer基本查询 dept/emp表: MGR:直接上级的编号 HIREDATE:入职日期 COMM:奖金 DEPTNO:部门编号   创建dept表 创建emp表 deptno 是外键,foreign key refercnce dept (deptno) reference 引用: 针对外键: dept: emp: select查询: *能不用则不用:对资源是种浪费: 整个数据带过来是很大的: distinct 区别: distinct只会抛弃完全一样的: select disti

四种方式实现SQLServer 分页查询

SQLServer 的数据分页: 假设现在有这样的一张表: CREATE TABLE test ( id int primary key not null identity, names varchar(20) ) 然后向里面插入大约1000条数据,进行分页测试假设页数是10,现在要拿出第5页的内容,查询语句如下: --10代表分页的大小 select top 10 * from test where id not in ( --40是这么计算出来的:10*(5-1) select top 40

高效的SQLSERVER分页查询的几种示例分析

Sqlserver数据库分页查询一直是Sqlserver的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID.YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页查询每页30条,查询第1500页(即第45001-45030条数据),字段ID聚集索引,YEAR无索引,Sqlserver版本:2008R2 第一种方案.最简单.普通的方法: 1 SELECT TOP 30 * FROM ARTICLE WHERE ID NOT IN(SELECT TOP 45000