常用SQL语句的整理--SQL server 2008(查询二--)

SQL中的内置函数:

--聚合函数COUNT--查询表中数据的条数

select COUNT(*) from person select COUNT(*) from person where age in(18,19,20)--可以跟想要的上一节讲的所有函数

--MIN,MAX,Avg,SUM

select MIN(age) from person select max(age) from person select avg(age) from person select sum(age) from person 

--数据分组---根据年龄分组,然后取出分组后的数据

select age,COUNT(*) from person group by age

注:如果所用字段没有出现在group by后面,是不能用带select语句中使用的(但是聚合函数是可以的),我们来看两个例子

select age,COUNT(*)as 数量,AVG(age) from person group by age错误用法:select age,COUNT(*)as 数量,username from person group by age---错误提示:选择列表中的列 ‘person.username‘ 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。

Having是对分组后信息的过滤,能用的列和select中能用的列是一样,关于having和where的区别,这里暂时不深入去说了,但是要明白一点是,having不能代替where

select age,COUNT(*)as 数量 from person group by age having age>15---根据年龄分组统计数量,并且选择年龄大于15的组别

--去除重复数据

select distinct age from person

--联合结果集(把查询结果结合成为1个查询结果)注:上下两个查询语句字段必须一致(名字,类型,个数都必须一致)

select username,age from person
union
select username,age from student

注:union和union all 的区别。前者合并重复数据,后者不合并,由于union需要对数据进行扫描和对比,所以效率低,所以如果不是要合并数据的话,建议用union all

--查询每一个人的姓名和年龄,并且计算年龄综合,然后放置最后一列中

select username,age from person union all
select ‘合计‘,SUM(age)from person
时间: 2024-08-10 01:30:40

常用SQL语句的整理--SQL server 2008(查询二--)的相关文章

常用SQL语句的整理--SQL server 2008(查询三--子查询)和guid

--分页数据----ROW_NUMBER()叫做开窗函数,可以进行分页操作 select ROW_NUMBER() over(order by id)as num,*from gb_data----给每一列加上一个连续的num值,方便取第几个到第几个数据的时候使用的 select ROW_NUMBER() over(order by id)as num,*from gb_data where num>5and num<10--这行代码是错误的,因为系统识别不出来num是多少,为什么呢? --是

常用SQL语句的整理--SQL server 2008(查询一)

表的创建和表结构的修改我们这里就不说了,主要是说说查询语句和一些常用的语句 --更新语句操作,主要想说明的就是,在中文字符前面最好加上N,以防止出现乱码 update gb_data set username=N'天才夏雨' where id=5 --新增一条语句,并且立刻获取他的主键id(这个用的很多啊,比如餐厅管理) insert into gb_data( username, body, ip) values ('xiayu222','ewdfdf','172.1.1.0');select

SQL Server 2008 查询所有用户表

SQL Server 2008 查询所有用户表的T-SQL语句是: SELECT * FROM sysobjects WHERE [xtype] = 'U' 或者是: SELECT * FROM sysobjects WHERE [type] = 'U' 关于xtype和type的区别,下篇日志里会讲到.SQL Server 2008 查询所有用户表

使用sql语句创建修改SQL Server标识列(即自动增长列)

一.标识列的定义以及特点SQL Server中的标识列又称标识符列,习惯上又叫自增列.该种列具有以下三种特点:1.列的数据类型为不带小数的数值类型2.在进行插入(Insert)操作时,该列的值是由系统按一定规律生成,不允许空值3.列值不重复,具有标识表中每一行的作用,每个表只能有一个标识列.由于以上特点,使得标识列在数据库的设计中得到广泛的使用.二.标识列的组成创建一个标识列,通常要指定三个内容:1.类型(type)在SQL Server 2000中,标识列类型必须是数值类型,如下:decima

常用sql语句总结(一)(查询)

常用sql语句总结(一)(查询) 数据操作语句:DML 数据定义语句:DDL 数据控制语句:DCL (执行顺序------序号) 一.基本查询: 1. SELECT * ----- 2 FROM 数据来源,- ----- 1; ---数据来源可以是多个表或者其他范围 或者 SELECT 字段,字段- -----可以列出想要查询的字段名 FROM 数据来源,--; 2.去重复查询(DISTINCT): SELECT DISTINCT 字段,字段-.. FROM 数据来源,-; 3.查询取别名: S

C#使用带like的sql语句时防sql注入的方法

本文实例叙述了在拼接sql语句的时候,如果遇到Like的情况该怎么办. 一般采用带like的SQL语句进行简单的拼接字符串时,需要开率遇到sql注入的情况.这确实是个需要注意的问题. 这里结合一些查阅的资料做了初步的整理. 如这样一个sql语句: select * from game where gamename like '%张三%' 用c#表示的话: string keywords = "张三"; StringBuilder strSql=new StringBuilder();

pl/sql developer 快捷操作: 显示不可见字符 显示历史sql语句 拷贝整个sql窗口的语句至新的sql窗口

显示不可见字符:可以把空格.回车显示出来: 显示历史sql语句:ctrl+e,不仅仅包含这个数据库的sql语句,还有其他数据库的:必须在sql窗口才可以激活这个功能: 拷贝整个sql语句至新的sql窗口:可以进行快捷的备份.修改:

如何消除 sql server 2008 查询语句的红色波浪线

近来学习sql的时候,所以就用上了sql server 2008 ,这个版本有个很好的地方就是会智能提示,但是这种智能提示有些时候这是很烦人,比如说新建一张数据表之后,表名为 Person当使用结构化查询语句的时候,输入Person 总是会出现红色波浪线(红色波浪线一般是提示有错误,但是这里并没错)百度上有个很好的解释:这个表的字段列表,让你选择.但是,当你新建了一个对象的时候, 例如表, 或者你的那个例子,是新建存储过程abc这个时候,数据库那里,已经有存储过程abc 了.但是客户端的缓存里面

SQL语句简单整理

参考https://blog.csdn.net/weixin_43947974/article/details/84855856 1.数据库操作: 1)创建数据库: create database database_name: ? 创建并设置字符编码 create database database_name character setutf8: 2)删除数据库: drop datebase database_name; 3)查看数据库字符集编码: show variables like 'ch