4.数据库表的高级查询

4.1   in   

使用场景:查询时,条件字段的值存在某个数据集中

数据集:可以是具体的某几个值,也可以是通过一个子查询得到的数据集

select ... from 表名 where 条件字段 in (数据集);

比如: 从member表中查询用户id为1001,1002,1003的用户信息

select * from member where in(1001,1002,1003);

select ... from 表名 where 条件字段 not in (数据集);     

表示要查询的字段不存在这个数据集中

4.2 模糊查询 like

使用场景:查询的时候,条件字段的值不完整的情况下

% 匹配任意长度的字符串,%所在的位置不同代表的意思不同

select ... from 表名 where 条件字段 like '%XX';

条件字段以任意字符串开头

以XX结尾

select ... from 表名 where 条件字段 like 'XX%';

条件字段以XX开头

以任意字符串结尾

select ... from 表名 where 条件字段 like '%XX%';

条件字段包含XX

比如 查询用户表中手机号以556结尾的用户信息

select * from member where mobilephone like '%556';

查询用户表中手机号后三位是556的用户信息

select * from member where mobilephone like '_________556';

占位符(下划线)_

11位的手机号,输入9次下划线

4.3 分组  group by

使用场景:

按照某一个或多个字段进行分组,必须配合“聚合函数”使用,使用时至少需要一个分组字段。

select 查询字段,聚合函数 from <查询涉及到的表> group by 分组字段 having 过滤条件;

聚合函数:对一组值执行计算并返回单一的值的函数。

sum()、count()、avg()、min()、max()

having 过滤条件: 在分组结果的基础上再进行过滤,必须用having 过滤条件

Select *,max(amount) from invest group by loanid having max(amount)>20000.00

4.4 between

使用场景:

条件字段的取值处于两个数据范围内的情况,包含边界值。

select ... from 表名 where 条件字段 between 数据A and 数值B;

比如 找出用户表可用余额在10000.00到40000.00的用户

select * from member where leaveamount between 10000.00 and 40000.00;

4.5 去重 distinct

使用场景:去除查询结果中的重复数据

select distinct 字段名 from <表名>;

比如  查询所有投资的用户id

select distinct memberid from invest;

4.6 分页 limit

使用场景:取查询结果的前几条

select ... from <表名> limit m,n;

m:索引值从m开始。   n :每页要取多少条。

比如  每页取10条展示

第一页: limit 0,10    表示取索引从0开始取10条的记录

第二页:limit 10,10    表示取索引从10开始取10条的记录

那么当每页展示x条数据,取到第y页时,分页语句中的m,n分别为多少?

(y-1)x   ,     x

4.7 排序 order by  排序字段名  降序(desc)、升序(asc)

不写desc、asc,默认升序

例如 查询用户信息,以用户名升序排列

select * from member order by regname;

order by  ... desc  降序

例如 查询用户信息,以用户id降序排列

select * from member order by id desc;

order by ...  asc   升序

例如 查询用户信息,以用户名升序排列

select * from member order by regname asc;

4.8  select  函数;   select 后面直接加函数

数值相关函数

求字段A的最大、最小、平均、和

min(字段A)    max(字段A)   avg(字段A)   sum(字段A)

日期函数

获取系统当前日期时间

sysdate()

获取系统当前日期

curdate()

获取系统当前时间

curtime()

获取给定日期的年份、月份

year(date)    month(date)

为指定日期增加一个时间间隔

的函数

date_add(date,interval expr unit)

例如:

select date_add(sysdate(),interval 1 day);

在当前时间增加1天

字符串函数

字符串拼接函数

concat(字段A,字段B)

select concat(id,regname) from member;

select concat('hello','world');

字符串截取函数

substr(字段A,截取开始的位置position,截取字符个数)

select substr(regname,2,3) from member;

用户名从第二个字符开始截取3个字符

获取字符串长度的函数

length(字段A)

select length(regname) from member;获取用户名的长度

4.9 select 查询语句的结构

select...查询字段...from..查询涉及到的表....where..关联条件....group by..按主键/id进行分组....having...分组后进行过滤...order by......limit......

4.10 子查询(嵌套查询)

select * from (select id,regname,mobilephone from member) as newtable where newtable.id>3;;

转载于:https://www.cnblogs.com/Aphrodite/p/10064958.html

4.数据库表的高级查询相关推荐

  1. ylb:SQL 表的高级查询-多表连接和子查询

    ylbtech-SQL Server: SQL Server-表的高级查询-多表连接和子查询 SQL Server 表的高级查询-多表连接和子查询. 1,ylb:表的高级查询-多表连接和子查询 返回顶 ...

  2. mysql查询库表变更信息_PythonMySQL进行数据库表变更和查询

    这篇文章主要介绍了Python MySQL进行数据库表变更和查询的相关资料,需要的朋友可以参考下 Python连接MySQL,进行数据库表变更和查询: python mysql insert dele ...

  3. mysql数据库实验查询_MySQL数据库表数据的查询操作实验

    实验3.MySQL数据库表数据的查询操作实验(1) 一.实验目的 掌握SELECT 语句的基本语法格式. 掌握SELECT 语句的执行方法. 掌握SELECT 语句的 GROUP BY 和 ORDER ...

  4. 通过表单设计器动态生成数据库表以及动态查询的功能实现

    表单设计器动态生成数据库表以及动态查询的功能实现 前言 1. 功能实现 1.1 效果说明 1.2 功能流程图 1.3 具体后端实现 1.4 实现效果 2. 尾声 前言 前两天安排了作为Java小码农的 ...

  5. oracle将查询结果声明为伪表,Oracle查询操作(增删改查,伪表,高级查询)实例讲解...

    SQL查询操作:增删改查 一.SQL操作符 算术操作符 + - * / 比较操作符 = != < > <= >= BETWEEN--AND IN LINK IS NULL 逻辑 ...

  6. 数据库SQL的高级查询

    高级查询 高级查询以及导入导出,表的复制.重命名, 1.子查询 定义:一个查询语句中嵌套另一个查询 例如 查询金额超过平均值的订单 select * from orders where amt > ...

  7. Go 学习笔记(55)— Go 标准库 sql (初始化数据库、插入、更新、删除数据库表、单行查询、多行查询、事务处理)

    1. 标准库说明 Go 的标准库中是没有数据库驱动,只提供了驱动接口,有很多第三方实现了驱动,我们这里选择 go-sql-driver 这个实现是目前使用最多的.github 地址是:https:// ...

  8. 数据库表空间大小查询

    Oracle中有两种含义的表大小 一种是分配给一个表的物理空间数量,而不管空间是否被使用.可以这样查询获得字节数: select segment_name, bytes  from user_segm ...

  9. mysql高级操作_mysql数据库表的高级操作

    1.复制表结构 语句:create table 表b like 表a; 说明:a.只是使用表a的结构重新创建一个表b. b.只是复制表a的结构,不包含表的数据. 2.备份SQl执行结果 语句:crea ...

最新文章

  1. 七夕要到了,用Python比心表白
  2. MPB:西农焦硕组-​土壤微生物响应环境变化的系统发育保守性和环境阈值
  3. 【numpy】tensordot的用法研究
  4. java文件用editplus乱码,EditPlus设置编码后,编译时仍然出现乱码
  5. 操作系统:多处理器编程-- 蒋炎岩老师
  6. 信息系统项目管理案例3
  7. 关于MyEclipse对Struts2配置文件较检异常 Invalid result location value/parameter
  8. MVVM和MVC有什么区别
  9. 属性面板 脚本_如何在组态王中实现同类型设备公用操作面板的调用---干货
  10. android资源管理方式,Android资源管理利器Resources和AssetManager
  11. android8.0学习(1)---Android Treble 概述
  12. visualmap超过范围改变颜色_换种颜色,换种心情——车身改色
  13. HBase权威指南【中文版】
  14. 常见卫星汇总--期待大神补充下载地址
  15. fix协议封装挑战-数据有效性校验
  16. jira是干什么_JIRA是什么? | 学步园
  17. 嗖嗖移动业务大厅项目_会员合作项目:10086移动外呼业务
  18. three.js 入门详解(一)
  19. 杨韬的Python/Jupyter学习笔记
  20. 互联网常用词汇索引表

热门文章

  1. 64位Win7下用VS2010编译OpenSSL
  2. java中的引用,你注意到没?
  3. 2015手机网民超10亿是什么景象?
  4. 我喜欢的 Linux shell 玩法
  5. C++ 虚函数表浅析
  6. Objective-C原理系列(一)
  7. VNC+SSH相关应用
  8. MFC 给非控件添加ToolTip
  9. php使用 memcache 来存储 session
  10. 如何从一台铅封计算机上取走数据