数据库中的查
Posted xixi-66
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库中的查相关的知识,希望对你有一定的参考价值。
DML语句
Select基本语法
Select * from tablename;*指代所有列名的快捷方式
Select 列名1,列名2...列名n from tablename;
Select 选择列名 from tbname where 表达式;
简单查询,基本格式:
Select 列名1,列名2....
From 表1,表2.....
Where 条件表达式
Group by 分组
Having 分组条件
Order by 列名
Limit num;
选择列
- distinct 关键字去重,去除重复数据,紧挨着select
select distinct dept_id from s_emp;
- 简单的算术运算:
+ - * / mod() abs() round()等
2.字符串相关联函数
Concat,lower,upper
select concat(first_name,‘ ‘,last_name) from s_emp;
3.重命名,起别名
格式:select 列名1 as 别名1,列名2 as 别名2 from 表:
select id as d_id from s_emp;
4.对null的显示处理
Ifnull(列名,指定显示值)
5.时间函数
Date_format(curdate(),%Y %M %D %h:%i:%s);
按照指定格式输出时间信息:
Subdate(curdate(),days) 往前数days
Adddate(curdate(),30) 往后退30天
Subtime(curtime(),10) 往前推10秒
Addtime(curtime(),10) 往后退10秒
Where 条件
表达式组成:(列名,操作符,数值) and|or|&&|||(列名 操作符 数值)
- 算数操作符:
!=,<> 不等于
= 判断是否等于
<=> 判断是否相等:针对于null
2.逻辑操作符:
- 列名 between 数值 and 数值:select * from s_emp salsry between 500 and 1000;
- .列名 not between 数值1 and 数值2:(无穷小,值1或值2到无穷大)
- In(值1,值2,.....)在指定范围内:select id,salary from s_emp where salary in(750,1400,1550);
- Not in(值1,值2,.....)在指定范围外:select count(*) from s_customer where salaes_rep_id not in(11,12) or sales_rep_id <=> null;
- is null; is not null;
- Like 模糊匹配:通配符%匹配0个或多个,_匹配一个,转义符;如果是完全匹配建议用“=”效率更高
- 逻辑连接符:&& and || or,不支持短路求值
例如:找部门编号41,工资大于1000元或者部门编号42,工资小于2000元的员工基本信息;
Select id,dept_id,salary from s_emp where (dept_id=41 and salary>1000) or (dept_id=42 && salary<2000);
Group by 分组显示
组函数:使用方法:写在having后面
- count(*) 计算个数
- Sum()求和
- Avg()平均值
- Max()最大值
- Min()最小值
Having 子句
用于过滤和筛选;分组前使用where进行过滤,分组后使用having进行过滤。
Order by排序
asc升序(默认) desc 降序
使用方法:sql语句最后+order by 列名
也可以多字段排序:order by 列名[asc] ; 列名[desc]
Limit
限制行数,条数
Limit 数字值
子查询
一个select语句的结果,作为另一个select语句的条件:
子查询:查询结果是主查询的对象(from)
多表查询
使用连接的方式,进行多表查询
等值连接
- 等值连接,肯定有表与表之间的关联关系(主键,外键,其他用户定义形式);
- 通过列名进行连接,列名和列名最好是相同数据类型。
外链接
等值连接(内连接),inner join 获取交集外链接分为三种:
左外连接
右外连接
全连接
以上是关于数据库中的查的主要内容,如果未能解决你的问题,请参考以下文章
数据的查,改,删django orm中如何创建表关系django请求生命周期流程图路由层无名有名分组反向解析
列表(list)的增删改查及操作方法和元组(tuple)的查
JQuery Validate插件如何自定义验证方法(结合ajax实现数据库的查重)
04 tp6 的查数据 findselectfindOrEmptyfindOrFailtoArrayselectOrFailvaluecolumn《ThinkPHP6 入门到电商实战》