SQL-记录查询篇-009
在学习记录查询之前,学习一些关键字的使用;
1、逻辑运算符:and 、 or 、 not 、is null
select *
from table_name
where id>2 and id<4
解释:返回id大于2,小于4的记录
select *
from table_name
where name is null
解释:返回name字段不为空的记录
2、模糊查询:like
select *
from table_name
where name like '%good%'
解释:返回name字段包含good字符串的记录
3、范围查询:between 、 in
select *
from table_name
where age between 1 and 10
解释:返回age在1-10之间的记录
select *
from table_name
where name in('张三',‘李四’,‘马六’)
解释:返回name字段中有('张三',‘李四’,‘马六’)的记录
4、exists 、all 、some、 any
exists (select * from table_name where id >10)
解释:exists返回值为bool值,检测行是否存在。若不存在行,返回false,若存在一条及多条,返回true;
select * from table_name where age > all(select age from table_name2 )
解释:筛选出表1中的age大于表2中最大age的记录
select * from table_name where id > any(select age from table_name2 )
解释:筛选出表1中的age大于表2中最小age的记录
注:some的用法与any一样,且这些关键字多用于子查询中。
5、top 、distinct 、compute 、group by
select top 10 *
from table_name
where id >20
解释:筛选出id大于20的前10条记录
select distinct name
from table_name
解释:筛选出不同值的name记录
select age ,count(*)
from table_name
group by age
解释:age字段为主字段,另一个字段必须为聚合函数。
select id,name,age
from table_name
compute sum(age)
解释:返回两个结果集,一个是id,name,age字段的详细结果集,另一个是sum结果集
select id,name,age,sex
from table_name
order by sex
compute sum(age) by sex
解释:返回多个结果集,根据sex的不同值划分结果集。
一、合并多个表的记录
关键字:union
select * from table_name
union
select * from table_name2
解释:将表1和表2的记录简单累加,表1和表2的字段数和字段类型必须一致!
select * from table_name
union all
select id,name ,age from table_name2
解释:将表2筛选出来的记录与表1合并
select * from table_name
union
select * from table_name1
union
select * from table name2
解释:将表1和表2和表3合并
二、联接多个表
内联接:inner join
select table1.age
from table1
inner join table2
on table1.name=table2.name
解释:从表1中筛选出表1和表2 name字段相同的age记录,删除重复记录。
左联接:left join
select table1.age
from table1
left join table2
on table1.name=table2.name
解释:留下表1的所有age记录,即使没有与表2匹配
右联接:right join
select table1.age,table2.name
from table1
right join table2
on table1.name=table2.name
解释:留下表2的所有name记录,即使没有与表1匹配
全联接:full join
select table1.age,table2.name
from table1
full join table2
on table1.name=table2.name
解释:留下表1的所有age记录,留下表2的所有name记录。
SQL-记录查询篇-009的更多相关文章
- sql记录查询重复注意事项(经验提升),in的用法和效率
sql查询重复记录,使用: select * from dimappnamenew as appn where id in ( select id from dimappnamenew gro ...
- ORACLE基本SQL语句-查询篇
一.普通查询 /*查询表数据*/select * from STU /*取出前3行数据*/select * from stu where ROWNUM<=3 /*模糊查询*/select * f ...
- 第四篇:记录相关操作 SQL逻辑查询语句执行顺序
http://www.cnblogs.com/linhaifeng/articles/7372774.html 一 SELECT语句关键字的定义顺序 SELECT DISTINCT <selec ...
- mysql第四篇--SQL逻辑查询语句执行顺序
mysql第四篇--SQL逻辑查询语句执行顺序 一.SQL语句定义顺序 SELECT DISTINCT <select_list> FROM <left_table> < ...
- **SQL某一表中重复某一字段重复记录查询与处理
sql某一表中重复某一字段重复记录查询与处理 1.查询出重复记录 select 重复记录字段 form 数据表 group by houseno having count(重复记录字段)> ...
- Spring+SpringMVC+MyBatis+easyUI整合优化篇(十一)数据层优化-druid监控及慢sql记录
本文提要 前文也提到过druid不仅仅是一个连接池技术,因此在将整合druid到项目中后,这一篇文章将去介绍druid的其他特性和功能,作为一个辅助工具帮助提升项目的性能,本文的重点就是两个字:监控. ...
- SQL联合查询:子表任一记录与主表联合查询
今天有网友群里提了这样一个关于SQL联合查询的需求: 一.有热心网友的方案: 二.我的方案: select * from ( select a.*,(select top 1 Id from B as ...
- Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等)
Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等) 子查询 描述:查询订单数超过5的顾客信息 查询句法: var 子查询 = from c i ...
- oracle(sql)基础篇系列(五)——PLSQL、游标、存储过程、触发器
PL/SQL PL/SQL 简介 每一种数据库都有这样的一种语言,PL/SQL 是在Oracle里面的一种编程语言,在Oracle内部使用的编程语言.我们知道SQL语言是没有分支和循环的,而PL语 ...
随机推荐
- jackson中@JsonProperty、@JsonIgnore等常用注解总结
本文为博主原创,未经允许不得转载: 最近用的比较多,把json相关的知识点都总结一下,jackjson的注解使用比较频繁, jackson的maven依赖 <dependency> < ...
- 超简单的localStorage实现记住密码的功能
HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 之前,这些都是由 coo ...
- 19 中山重现赛 1002 triangle
题意:给一组数据a[0]...a[n], n<5e6, a[i]<2^31-1(1e9)判断是否存在三角形数 首先想到的是排序,若a[i]+a[i+1]>a[i+2] , 则存在三 ...
- 基于C语言的磁引导园丁机器人源程序 --单片机应用
GardenRobot.c: #include"reg52.h" #include"intrins.h" #define uchar unsigned char ...
- MongoDB 教程(八):查询文档、条件操作符
MongoDB 查询文档 MongoDB 查询文档使用 find() 方法. find() 方法以非结构化的方式来显示所有文档. MongoDB 查询数据的语法格式如下: db.collection. ...
- Docker部署Django项目+Nginx+Fluend日志收集 和redis、memcached、RabbitMQ、Celery
前言 一.docker 1.docker是什么? Docker的英文本意是“搬运工”,Docker搬运的是集装箱(Container)可以成为容器,我可以把写的Django的WEB应用以及Python ...
- 不安全的HTTP方法(渗透实验)
1.使用 curl -v -X OPTIONS url(含目录) 获取允许访问的http method 例如:curl -v -X OPTIONS http://192.168.1.123:12123 ...
- 四:(之八_Linux压力测试工具stress)Dockerfile语法梳理和实践
8.1 安装stress stress目前是在该目录下的可执行文件 --vm 创建几个进程 --vm-bytes 为每个进程分配多少内存 8.2 debug输出stress创建进程的过程 一直在创建有 ...
- main函数
class Main { public static void main(String[] args) //new String(0) { System.out.println(args); // [ ...
- clearfix 用法
如果有一个DIV作为外部容器,内部的DIV如果设置了float样式,则外部的容器DIV因为内部没有 clear,导致不能被撑开.看下面的例子:Div布局如下:Css代码如下:.out{border:1 ...