DQL数据查询语言

DQL(数据查询语言)

基本的select语句
过滤和排序数据
分组查询

基本的select语句

查询所有列
方式一:

语法:select * from 表名
示例:查询博客表
 select * from t_lucene_crawler_blog

方式二:

语法:select 所有列名 from 表名

查询特定的列

语法:select 列名 from 表名

别名
意义:1、便于理解
2、如果要查询的字段有重名的情况,使用别名可以区分开来

列取别名有两种方法:
1、 使用空格

语法:select 列名 别名 from 表名

2、使用as

语法:select 列名 as 别名 from 表名

给表取别名

语法:select 列名 from 表名 别名

查询常量

示例: SELECT 100;
 SELECT 'john';

在这里插入图片描述
在这里插入图片描述
查询表达式

示例:SELECT 100%98;

结果:
在这里插入图片描述

显示表结构

语法:DESC 表名

查询函数

语法:SELECT VERSION();

结果
在这里插入图片描述

去重

语法:SELECT DISTINCT 需要去重的列名 from 表名

+号的使用

1、运算符,两个操作数都为数值型
2、连接符,只要有一个操作数为字符串
两个操作数都为数值型,则做加法运算,
只要其中一方为字符型,试图将字符型数值转换成数值型,如果转换失败,则字符型的转换为0
如果一方为null,则结果为null

过滤和排序数据

过滤

将不满足条件的过滤掉

where子句

语法:select 列名 from 表名 where 条件
示例:
 select * from t_mysql_employees where salary = 24000

比较运算

示例:
 select * from t_mysql_employees where salary >10000
模糊查询

in

含义:判断某字段的值是否属于in列表中的某一项
特点:
	①使用in提高语句简洁度
	②in列表的值类型必须一致或兼容
	③in列表中不支持通配符

between…and…

示例:
 select * from t_mysql_employees where salary BETWEEN 10000 AND 20000
示例:

like

示例,查询表中姓中有a的
 select * from t_mysql_employees where first_name like '%a%'

null

示例:
	SELECT 	last_name, 	commission_pct  FROM  	t_mysql_employees  WHERE	manager_id IS NULL;

逻辑运算

排序

order by

语法:select 查询列表  from 表名  【where  筛选条件】 order by 排序的字段或表达式;
特点:1、asc代表的是升序,可以省略  desc代表的是降序
2、order by子句可以支持 单个字段、别名、表达式、函数、多个字段
3、order by子句在查询语句的最后面,除了limit子句

分组查询

概念

语法:分组函数作用于一组数据,并对一组数据返回一个值。

分组函数

功能:用作统计使用,又称为聚合函数或统计函数或组函数
分类:sum 求和、avg 平均值、max 最大值 、min 最小值 、count 计算个数
特点:
1、sum、avg一般用于处理数值型
   max、min、count可以处理任何类型
2、以上分组函数都忽略null值
3、可以和distinct搭配实现去重的运算
4、count函数的单独介绍
一般使用count(*)用作统计行数
5、和分组函数一同查询的字段要求是group by后的字段
示例:
SELECT SUM(salary) FROM t_mysql_employees;
SELECT AVG(salary) FROM t_mysql_employees;
SELECT MIN(salary) FROM t_mysql_employees;
SELECT MAX(salary) FROM t_mysql_employees;
SELECT COUNT(salary) FROM t_mysql_employees;

group by

语法:
select 查询列表  from 表 【where 筛选条件】 group by 分组的字段  【order by 排序的字段】;
特点:
1、和分组函数一同查询的字段必须是group by后出现的字段
2、筛选分为两类:分组前筛选和分组后筛选
示例:
select * from t_mysql_employees group by department_id

having

示例:	select * from t_mysql_employees group by department_id HAVING salary >10000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值