数据库常见查询语句_数据库检索语句

数据库常见查询语句_数据库检索语句常用数据库查询语句基本查询select字段1,字段2,…from表名;例如:selectid,namefromstu;条件查询select字段1,字段2,…from表名where字段关系符号值;关系符号<=>=<=!=大于等于大于等于小于等于不等于例如:select*fromstuid>2;andorin(范围内满足in内部条件)

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

数据库常用查询语句(DQL)

基本查询

select 字段1, 字段2,…from 表名;

例如:select id , name from stu;

条件查询

select 字段1, 字段2,…from 表名 where 字段 关系符号 值 ;

关系符号

< = >= <= != 大于 等于 大于等于 小于等于 不等于

例如:select * from stu id > 2;

and or in(范围内满足in内部条件) not in 相反

例如: select * from stu where id>1 and age <40;

​ select * from stu where id >1 or name =‘张三’;

​ select * from stu where id in(3,4);

between 值1 and 值2 在[值1,值2]之间 包含两边临界值

例如: select * from stu where id between 2 and 4;

模糊查询

select * from 表名 where 字段 like ‘%值%’;

例如: select * from stu where name like ‘陈%’;

注: %的位置不同 表达的意思不同 陈% : 陈某某 ,%陈% : 某陈某,%陈:某某陈

% 匹配任意字符 (%可以是任意长度)_匹配指定长度字符 一个_代表一个长度

排序查询

select * from 表名 order by 字段 排序类型 asc 升序 desc 降序 没写排序类型 默认 升序

例: select * from stu order by id desc ;

聚合函数 多行数据一行返回

count(字段) 计数 计算该列不为空的数据个数

例 :select count(name) from stu;

sum(字段) 求和 计算该列所有数字的和 字符串求和结果为0

例:select sum(age) from stu;

max(字段) 最大值 获取该列最大值

例: select max(age) from stu;

min(字段) 最小值 获取该列最小值

例: select min(age) from stu;

avg(字段) 平均值 不为null的进行平均

例: select avg(age) from stu;

注:聚合函数要放在select 和 from 之间

去重

distinct(列) 一般配合count()一起使用

例;:select count(distinct 字段名) from stu;

分组查询

group by

例:select * from stu group by 字段名

流程控制函数

if(expr1,expr2,expr3)

​ 如果 expr1 为真 则返回expr2, 否则返回expr3

​ is null() 函数 判断为空

​ is null(字段) 如果是null 返回1 不是返回0

例:select id name if(isnull(score)=1,‘缺考’,score)from stu;

case

when 条件 then 执行语句

when 条件 then 执行语句

else 执行语句

end

执行第一个when后的条件,如果为true,执行then后的语句,

如果when后的条件为false,执行第二个when后的条件

如果都为flase 执行else后的语句

多表联查

1 联合查询-合并结果集

union 将两表的查询结果纵向连接(会去重)

union all 纵向拼接会保留全部

2 连接查询

将多个表多行数据相乘(笛卡尔积).

一对一: 在任何一张表添加字段均可

一对多:只能在多的表添加字段

多对多:定义中间表

连接方式:

内连接: select * from 表1 inner join 表2 on 关联条件(过滤条件);

​ 简写: select * from 表1,表2 where 表1.字段名 = 表2.字段名;

注:只会保留完全符合关联条件的数据

外连接: select * from

​ 左外连接: select * from 表1 left [outer] join 表2 on 表1.字段名 = 表2.字段名

​ 注:会保留左表中不符合条件的数据

​ 右外连接: select * from 表1 right [outer] join 表2 on 表1.字段名 = 表2.字段名

​ 注:会保留右表中不符合条件的数据

​ 注:会保留不满足条件的数据

子查询

子查询就是嵌套查询.

一般子查询出现在:

​ from后 : 当做一张表使用

​ where后: 当做条件使用

​ select 后

自连接:

自己连接自己

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195890.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Reverse Integer

    Reverse Integer

    2021年12月15日
    42
  • 如何画好业务架构图图片_产品业务流程图怎么画

    如何画好业务架构图图片_产品业务流程图怎么画1:什么是业务架构图描述系统对用户提供了什么业务功能。业务架构图是一种表达业务层级和关系的工具。业务架构图可以降低业务系统的复杂度,提高客户理解度,最终给客户最直观的业务体现。2:怎么画出一个好的业务架构图呢?2.1:熟悉功能必须要对功能特别熟悉,明白自己的软件的业务都有哪些,哪些是核心业务,哪些是边缘业务以及他们之间的关系是什么。2.2:分层将业务进行分层,一般来说上层是具体业务,下层比较抽象。下层为上层进行提供服务。在业务架构图中,上下要进行对齐,体现出它们的支持关系。2.3分功能

    2022年10月11日
    4
  • webpack异步加载_webpack配置按需加载

    webpack异步加载_webpack配置按需加载异步一定有一个回调函数 1、实现js和html分离 2、js脚本中执行postMessage,回调函数才会生效 3、回调函数的参数为一个对象,对象的data属性是js脚本中postMessage的参数 使用步骤 new对象=newWorker(‘异步执行的js文件路径’); 对象.onmessage=function(回调对象){通过对象.data调用postMessage返…

    2025年8月21日
    3
  • Java设计模式(五)之创建型模式:原型模式

    Java设计模式(五)之创建型模式:原型模式

    2021年4月8日
    125
  • UVa 11732 – strcmp() Anyone?

    UVa 11732 – strcmp() Anyone?

    2022年1月12日
    49
  • python pandas fillna_pandas删除行

    python pandas fillna_pandas删除行DataFrame.fillna(self,value=None,method=None,axis=None,inplace=False,limit=None,downcast=None,**kwargs)使用指定的方法填充NA/NaN值。参数:value:scalar(标量),dict,Series,或DataFrame用于填充孔的值(例如0),或者是dict/Seri…

    2022年8月12日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号