sqlserver中的 数据转换 与 子查询

原文:sqlserver中的 数据转换 与 子查询

数据类型转换

--cast转换

select CAST(1.23 as int)

select CAST(1.2345 as decimal(18,2))

select CAST(123 as varchar(10))     整型转换成字符串型

select CAST(‘123.333‘ as decimal(18,4))    字符串型转换成浮点型

--convert转换

select CONVERT(int,12.345)

子查询(嵌套查询)

---查找男同志里面年龄最大的人的全部信息(top 1的意思是取排列为第一行的全部信息)

select top 1* from haha where sex=‘男‘order by age desc

--子查询(将原来表中的数字,转换成另一个表的数据)

---查找人数最多的部门的人中岁的人的信息(大括号内命令的意思是查询某个部门的名称)

select * from haha where bumen =(select top 1 bumen from haha group by bumen order by COUNT(*) desc)and age=35

子查询的应用(5条数据为一页):

---查看一个表能够分成多少页

select CEILING (COUNT(*)/5.0) from haha     celing地板的意思,小数点后一位只要不是0就会进1

---分页代码,前面top代表一页有多少条数据,后面代码是过滤当前页面的前面页面的数据

select top 5* from haha where code not in (select top 10 code from haha)

这是显示第三页,修改页数只修改括号内的top后面的数即可(每5条数据为一页)

时间: 2024-08-25 11:39:52

sqlserver中的 数据转换 与 子查询的相关文章

Sqlserver 使用CTE如何按子查询排序?

Sqlserver 使用CTE如何按子查询排序? 需求:查出最近有更改的客户信息(按最后更改时间排序,来自SystemLog表LogDateTime字段) 说明: Customer:客户信息表SystemLog:系统日志表,记录所有表信息的增,删,改 自己公司开发的行业软件,不仅自己公司有在用,其他公司也在用,本公司进行软件维护和提供升级服务由于之前的设计客户信息表并没有更改时间字段,而现在该系统已经在N个不同的数据库里运行导致不能随意更改数据库结构(虽然可以升级,但代价太大) 不能使用视图及存

生产库中遇到mysql的子查询

使用过oracle或者其他关系数据库的DBA或者开发人员都有这样的经验,在子查询上都认为数据库已经做过优化,能够很好的选择驱动表执行,然后在把该经验移植到mysql数据库上,但是不幸的是,mysql在子查询的处理上有可能会让你大失所望,在我们的生产系统上就由于碰到了这个问题: select  i_id, sum(i_sell) as i_sell from table_data where i_id in (select i_id from table_data where Gmt_create

SELECT中(非常)常用的子查询操作

MySQL中的子查询 是在MySQL中经常使用到的一个操作,不仅仅是用在DQL语句中,在DDL语句.DML语句中也都会常用到子查询. 子查询的定义: 子查询是将一个查询语句嵌套在另一个查询语句中: 在特定情况下,一个查询语句的条件需要另一个查询语句来获取,内层查询(inner query)语句的查询结果,可以为外层查询(outer query)语句提供查询条件. 特点(规范): ①子查询必须放在小括号中 ②子查询一般放在比较操作符的右边,以增强代码可读性 ③子查询(小括号里的内容)可出现在几乎所

mysql中delete from in子查询删除失败

遇到一个情况,想通过表1的id找到表2,删除表2中barcode关联的库存数据,然后一直不能失败,如下: delete from 库存表 where BARCODE in( select BARCODE from 表1 where fmoveid= (select id from 表2 where PCID='SMX2014082604494930') ); 解决方式,加别名 delete from 库存表 where BARCODE in( select aa.BARCODE from(   

SQLServer(子查询,存储过程,透视,索引)

存储过程: 视图是对一个查询语句的封装,而存储过程:将一段t-sql脚本进行封装,对一段逻辑操作的封装. 创建存储过程: create proc 名称 参数表 as begin end 案例:去左右空格 creat proc trim @str1 varchar(10)asbegin select LTRIM(RTRIM(@str1)) end 在<可编程性>里面有<存储过程>里面有trim这个名 用的时候: exec trim '参数' 案例:编写存储过程,查询表中的总数居,以及

LINQ之路 7:子查询、创建策略和数据转换

在前面的系列中,我们已经讨论了LINQ简单查询的大部分特性,了解了LINQ的支持计术和语法形式.至此,我们应该可以创建出大部分相对简单的LINQ查询.在本篇中,除了对前面的知识做个简单的总结,还会介绍几种创建更复杂查询的方式,让我们在面对更复杂的场景时也能轻松面对,包括:子查询.创建策略和数据转换. 子查询 在创建一个复杂的查询时,通常我们需要用到子查询.相信大家都记得SQL查询里的子查询,在创建LINQ查询时也是如此.在LINQ中,对于方法语法,一个子查询包含在另外一个查询的lambda表达式

高级数据操作--子查询

一.子查询——标量子查询 子查询的概念 思考: 如何得到php_student表中成绩最高的学生的记录? 1 select * from php_student order by score desc limit 1; 但是,存在一个逻辑问题,如果最高分有很多人,怎么办! 1 insert into php_student values 2 (null,'观世音','female',17,5000,'南海',100), 3 (null,'如来','male',17,6000,'西天',100);

子查询 (最难点)

所谓的子查询就是在一个查询之中嵌入若干个小的查询. 语法: select [distinct] * |列名[别名],列名[别名]--|统计函数, ( select [distinct] *|列名[别名],列名[别名]--|统计函数     from 数据表[别名],数据表[别名]--    [where 条件(s)]    [group by 分组字段,分组字段,--]    [having 分组后过滤]    [order by 字段[asc|desc],字段[asc|desc],--] )f

优化子查询sql语句为内连接

背景: 希望提高查询的效率,从sql语句中频繁出现的子查询入手. 数据表如下:Student表中的CityCode对应于City表中的Code. Student表:                      City表: 子查询方式: sql语句如下: 1 select * from Student 2 where CityCode 3 in 4 (select Code from City) 内连接方式:sql语句如下: 1 select a.* from 2 Student a inner