sql的基本查询语句

--------------------------------------------基本常用查询--------------------------------------

自己简单练习做了个表。今天看了下hoojo大神的SQL Server T-SQL高级查询,我现在程度只能理解基础,所以就分享一下自己所联系的和理解的部分。

--查询所有
select * from [dbo].[Table]
--查询出所有名字
select all name from [dbo].[Table]
--过滤掉重复的性别
select distinct sex from [dbo].[Table]
--统计出表中有多少条信息
select count(*) from [dbo].[Table]
--统计出表中所有名字有多少条信息
select count(name) from [dbo].[Table]
--统计出过滤掉重复性别有多少条信息
select COUNT(distinct sex) from [dbo].[Table]
--排行前5名的姓名
select top 5 name from [dbo].[Table]
--如果要知道所有信息就将name替换成*----------------------
--列重命名(三种方式空格,as,单引号) --常用的是空格
select id 编号 , name as 姓名 , sex ‘性别‘ from [dbo].[Table]
--表重命名(俩种方式空格,as) --常用的是空格
select * from [dbo].[Table] as t
select * from [dbo].[Table] t
--列运算(俩列相加)
select (id+age) 总数 from [Table]
--将俩列合并显示在一列中用-隔开
select name +‘-‘+ age 个人信息 from [Table]
--where条件 (后面接列名 运算符 值)
select id 编号, name 姓名 from [Table] where id =2
select * from [Table] where id <=8
select * from [Table] where id >=2
select * from [Table] where id !=3
select * from [Table] where id !<7
select * from [Table] where id !>8
--将名字包含郑竹的信息不显示
select * from [Table] where name<>‘郑竹‘
--and 和 or 用法
--and 的用法是并且(满足所有条件)
select * from [Table] where id=3 and age=14
--or的用法是或者(满足其中一个条件)
select * from [Table] where age=13 or age=14
--between ...and...用法是俩者之间(显示条件中俩者之间的所有信息)
select * from [Table] where id between 2 and 8
--模糊查询(%替换所有输入字符,_替换一个输入字符) 关键字like替换运算符
select * from [Table] where name like ‘%‘
select * from [Table] where name like ‘%电‘
select * from [Table] where name like ‘_雨‘
--子查询 关键字in (在条件之中)
select * from [Table] where id in (2,3,4,7)
select * from [Table] where name in(‘钱雨‘,‘李电‘,‘郑竹‘)
--not in (不在条件之中)
select * from [Table] where age not in (17,18,19)
select * from [Table] where name not in(‘钱雨‘,‘李电‘,‘郑竹‘)
--is null (显示条件中值为空的信息)
select * from [Table] where age is null
--is not null (显示条件中值不为空的信息)
select * from [Table] where age is not null
--order by 排序 (desc 降序,asc升序)
select * from [Table] order by age
select * from [Table] order by age desc
select * from [Table] order by age asc
--group by 分组
--(查询时将一列或n列分开查询并显示,查询条件一一对应后面group by)
select age from [Table] group by age
select id ,name, age from [Table] group by id,name, age
--按照年龄进行分组统计
select count(*) age from [Table] group by age
--按照性别进行分组统计
select count(*) sex from [Table] group by sex
--按照年龄和性别组合分组统计,并排序
select COUNT(*) age,sex from [Table] group by age,sex order by age
--按照性别分组,并且是id大于2的记录最后按照性别排序
select COUNT(*) id大于2的人数, sex from [Table] where id>2 group by sex order by sex
--查询id大于2的数据,并完成运算后的结果进行分组和排序
select COUNT(*) id大于2的人数,(age+id) 合计数 from [Table] where id>2 group by (age+id) order by (age+id)
--group by all
--按照年龄分组,是所有的年龄
select age from [Table] group by all age
--having 分组过滤条件
--按照年龄分组,过滤年龄为空的数据,并且统计分组的条数和现实年龄信息
select COUNT(*) 分组的条数, age from [Table] group by age having age is not null
--按照年龄和id组合分组,过滤条件是id大于1的记录
select id,age from [Table] group by id,age having id >1
--按照年龄分组,过滤条件是分组后的记录条数大于等于1
select COUNT(*) 分组后的记录条数, age from [Table] group by age having COUNT(*) >=1
--按照id和性别组合分组,过滤条件是id大于1,id的最大值大于2
select id,sex from [Table] group by id,sex having id>1 and max(id)>2

--------------------------------------------嵌套子查询--------------------------------------
--子查询就是内部查询或者说是内部选择,在子查询外部的是外部查询或者说是外部选择。
--这个是基础理论,我个人觉得子查询就是中心,外部查询就是外围,中心查询的语句都是基础语句演变而来,外部查询就是结合子查询一块查询结果
--下面就是简单的子查询格式
select * from /* 这个就是外部查询*/
(select id ,name ,age from [Table] where id >1) t /*内部查询*/
where t.age >15/* 这个就是外部查询*/
--内部查询中运用的语句就是基本常用查询语句
--外部查询可以包含基本常用查询语句
--例如where,group by,having,count,select查询,多个表或者视图的from语句

学习之路永无止境,不可好高骛远,也不可妄自菲薄,维持本心,方能获取更多知识。--W代码源

时间: 2024-09-27 23:18:48

sql的基本查询语句的相关文章

Oracle SQL语言之查询语句_超越OCP精通Oracle视频教程培训29

Oracle SQL语言之查询语句_超越OCP精通Oracle视频教程培训29 本课程介绍: Oracle视频教程,风哥本套oracle教程培训是<<Oracle数据库SQL语言实战培训教程>>的第4/5套:Oracle SQL语言之查询语句.主要学习Oracle数据库SQL查询限制排序.Oracle SQL联接查询.Oracle SQL子查询等. 视频学习地址: http://edu.51cto.com/course/course_id-8047.html Oracle SQL语

SQL结构化查询语句

SQL结构化查询语句 SQL定义了查询所有关系型数据库的规则. 1.通用语法 SQL语句可以单行或者多行书写,以分号结尾 可以使用空格和缩进增强可读性 不区分大小写,但是关键字建议大写 3种注释 注释内容:多行注释/*;-- 注释内容 2.SQL分类 DDL(Date Definition Language)数据定义语言 用来定义数据库对象:数据库.表.列等,包括关键字:create,drop.alte DML(Data Manipulation Language)数据操作语言,增删改 用来对数

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

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

SQL(结构化查询语句)

SQL概述 SQL会话 用户利用SQL命令与关系型数据库进行交互时发生的事情,当用户与数据库建立会话时,会话就被创建了.用Connect user@database 命令可以申请连接数据库,用Disconnect命令可以断开连接 SQL命令的类型 数据定义语言(DDL) 用于创建和重构数据库对象,比如创建(create table/Index/view).修改(alter table/index/view)和删除(drop table/index/view)表 数据操作语言(DML) 用于操作关

Mysql数据库理论基础之三 --- 数据类型及SQL结构化查询语句使用

一.简介 由MySQL AB公司开发,是最流行的开放源码SQL数据库管理系统,主要特点: 1.是一种数据库管理系统 2.是一种关联数据库管理系统 3.是一种开放源码软件,且有大量可用的共享MySQL软件 4.MySQL数据库服务器具有快速.可靠和易于使用的特点 5.MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中 InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创建.这样,表的大小就能超过单独文件的最大容量.表空间可包括原始磁盘分区,从而使得很大的表成为可能

Linux命令:MySQL系列之三--mysql数据类型及SQL结构化查询语句使用

MySQL 存储引擎,也被称为表类型:    MyISAM表:无事务处理功能,支持表锁 .frm:表结构定义文件 .MYD:表数据文件 .MYI:表索引文件 InnoDB表:支持事务处理功能,支持行锁 .frm:表结构定义文件 .ibd:表空间(包含数据和索引文件) MySQL常用的查询命令: SHOW ENGINES;  #查看数据库支持的引擎及状态. SHOW TABLE STATUS LIKE 'user' \G  #查看表user的属性信息,\G竖排显示 mysqld --help --

c# sql在where查询语句中使用字符串变量与int型变量

使用where语句访问数据库时where语句用上文中以及定义过的变量来查询. string sql3 = string.Format("update Ships set ContainerNum='"+list1[0].ContainerNum+"' where Name='"+list[0].ShipName+"'"); Ships是表名  ContainerNum是表中字段名 list1[0].ContainerNum是上文的一个Int 类型

【翻译】SQL最近位置查询语句(MySQL、PostgreSQL、SQL Server)

博文地址:https://thans.cn/database/nearest-location-sql.html 前言 我已经浪费了太多的时间在寻找定位软件上了,因此这值得我去写下如何去做.当然,在地球表面计算距离意味着计算大圆距离,可以通过半正矢公式计算,也称之为球面余弦定律公式.问题是: 给出一个具有经纬度的位置表,其中哪个位置最靠近给出的定位? 位置数据表 你是否想问在哪里我可以找到一张具有经纬度的位置表?你可以在互联网上搜索"邮政编码免费下载"或者"免费邮编下载&qu

sql中在查询语句中加判断,控制输出的内容

Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方式,可以实现相同的功能.简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式. 还有一个需要