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代码源
sql的基本查询语句的更多相关文章
- SQL结构化查询语句
SQL结构化查询语句 SQL定义了查询所有关系型数据库的规则. 1.通用语法 SQL语句可以单行或者多行书写,以分号结尾 可以使用空格和缩进增强可读性 不区分大小写,但是关键字建议大写 3种注释 注释 ...
- SQL Server-简单查询语句,疑惑篇(三)
前言 对于一些原理性文章园中已有大量的文章尤其是关于索引这一块,我也是花费大量时间去学习,对于了解索引原理对于后续理解查询计划和性能调优有很大的帮助,而我们只是一些内容进行概括和总结,这一节我们开始正 ...
- SQL Server-简单查询语句,疑惑篇
前言 对于一些原理性文章园中已有大量的文章尤其是关于索引这一块,我也是花费大量时间去学习,对于了解索引原理对于后续理解查询计划和性能调优有很大的帮助,而我们只是一些内容进行概括和总结,这一节我们开 ...
- sql 中联合查询语句
在查询语句中 两张表进行查询,可以通过 left join (左连接查询) :返回左表中的所有记录和右表中联结字段相等的记录 (意思就是左表中的数据会全部显示,右表中只会显示和左表中相等的字段) r ...
- c# sql在where查询语句中使用字符串变量与int型变量
使用where语句访问数据库时where语句用上文中以及定义过的变量来查询. string sql3 = string.Format("update Ships set ContainerN ...
- sql sever基本查询语句
查询(*可代表全部)(<>代表不等于于)select 列名 from 表名(,隔开)where 查询条件order by 排序的列名+连接的数据类型必须兼容(结果为字符串数据的连接 , 如 ...
- sql多条件查询语句
如上图:三个文本可选项,那sql语句怎么写呢? 1.首先获取三个文本的值分别为Name,Age,Sex. 2.string sql="select * from 表 where 1=1&qu ...
- 数据库SQL优化分析查询语句总结
方法一: SELECT TOP 10 TEXT AS 'SQL Statement' ,last_execution_time AS 'Last Execution Time' ,(total_log ...
- sql server 2008 查询语句的红色波浪线
在 Microsoft sql server management studio 里点击“编辑”——“IntelliSense”——“刷新本地缓存” 就会发现红色波浪线没了(前提是你的代码没错)
随机推荐
- Skulpt
Skulpt Python. Client side. Skulpt is an entirely in-browser implementation of Python. No preprocess ...
- 网易云课堂_C++开发入门到精通_章节8:设计模式
课时44设计模式简介 设计模式简介 面向对象设计的第一个原则:针对接口编程,而不是针对实现编程 接口->指针 实现->实例 若已存在一个类Class A,现在希望复用Class A,则有以 ...
- UIView 弹出动画
// 展开动画 - (void)beginAnimations { CGContextRef context = UIGraphicsGetCurrentContext(); [UIView begi ...
- 字符串和数字的全排列问题、前i位被i整除问题
// 全排列问题.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using names ...
- [Android4.4.3] Nubia Z5S Mokee4.4.3 RC2.0 by syhost
这个ROM先前在Mokee官网公布过,但一些人測试bug不少,因此已经撤下, 但又有人反馈跟之前RC1.0版的bug差点儿相同, 所以再次在网盘单独公布, 截图以及注意事项见之前的RC1.0的帖子, ...
- Jquery ui datepicker 设置日期范围,如只能隔3天
最近的后台项目前端使用了jquery ui 日历控件自然就使用了jquery ui 的 datepicker 后台数据比较好大,一般是千万级的和百万级的关联,查询会很慢,所以后加想多加些过滤条件, ...
- linux C连接mysql
linux 环境下C语言连接数据库首先要配置环境 1,确定你的linux下安装mysql我们可以做个测试. 打开你的终端,在终端下输入:service mysqld status [root@bogo ...
- unity tips
1.在unity 的mecanim中,如果一个动画指向两个或两个以上的动画,那么在inspector中,transitions中可以看到所有的过渡路径,这些路径是有先后顺序的.
- C#钩子应用实例
C#钩子应用实例一.写在最前 本文的内容只想以最通俗的语言说明钩子的使用方法,具体到钩子的详细介绍可以参照下面的网址: http://www.microsoft.com/china/community ...
- 微信SDK导入报错 Undefined symbols for architecture i386:"operator delete[](void*)", referenced from:
异常信息: Undefined symbols for architecture i386: "operator delete[](void*)", referenced fro ...