Mysql——DQL语言(上)

基本查询语句

查询列

#查询所有
SELECT * from 表名
SELECT 列名,列名 from 表名#全部写出列名
#查询特定的列
SELECT 列名,列名 from 表名
#列的别名
SELECT 列名 AS '别名' from 表名
SELECT 列名 '别名' from 表名

其他用法

 #查询常量值
 SELECT 100;
 SELECT 'john';
 #查询表达式
 SELECT 100%98;
 #查询函数
 SELECT VERSION();
#去重
SELECT DISTINCT 列名 FROM 表名;
#mysql中的+号:
select 100+90; #两个都为数值型,做加法运算
select '123'+90;#一方为字符,试图将字符转成数值
select 123+90;#转换成功,做加法运算
select 'john'+90;#转换失败,将字符转成0
select null+10; #一方为null,结果为null
#拼接
SELECT CONCAT('a','b','c') AS 结果;
SELECT CONCAT(,) AS 列别名 FROM;

过滤和排序数据

过滤

#语法(条件自由组合):
select 查询列表 from 表名 where 条件;
/*分类:
	一、表达式筛选
		条件运算符:> < = != <> >= <=
		#安全等于:<=>	列<=>NULL;
	二、逻辑表达式筛选
		逻辑运算符:
		&&和and:条件都为true,结果为true,反之为false
		||或or:一个条件为true,结果为true,反之为false
		!或not:条件本身为false,结果为true,反之为false
	三、模糊查询
		like
		between and
		in
		is null
	四、注
		=或<>不能用于判断null值
		is null或is not null 可以判断null值
		#is null pk <=>
			IS NULL:仅判断NULL值,可读性高,建议使用
			<=>    :既判断NULL值,又判断数值,可读性低
*/

排序

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

#单个字段排序(降序)
SELECT * FROM 表名 ORDER BY 排序列 DESC;
#筛选条件再排序(降序)
SELECT * FROM 表名 WHERE>=90 ORDER BY 排序列 DESC;
#多个字段排序
SELECT * FROMORDER BY 排序列 DESC,排序列 ASC;#排序先后同sql语句先后
#按函数排序
SELECT LENGTH(name) FROMORDER BY LENGTH(name) DESC;#按名字的长度降序

分组查询

分组函数

/*1、概念
​	分组函数作用于一组数据,并对一组数据返回一个值。
2、组函数类型
	功能:用作统计使用,又称为聚合函数或统计函数或组函数
	分类:(前面的要放数值列)
		sum求和、avg平均值、max最大值、min最小值、count计算个数*/
#3、简单使用
SELECT SUM() FROM;
SELECT AVG() FROM;
SELECT MIN() FROM;
SELECT MAX() FROM;
SELECT COUNT() FROM;
/*4、效率:
MYISAM存储引擎下  ,COUNT(*)的效率高
INNODB存储引擎下,COUNT(*)和COUNT(1)的效率差不多,比COUNT(字段)要高一些*/

分组查询sql

/*
#语法:(分组函数做筛选不能放在where后面)
select 查询列表 from 表 where 筛选条件
group by 分组的字段
order by 排序的字段;*/

#1、分组前筛选
SELECT MAX(),分组列 FROMWHERE 筛选列 筛选条件
GROUP BY 分组列;

#2、分组后筛选
SELECT COUNT(*),分组列 FROMGROUP BY 分组列
HAVING COUNT(*)>5;#条件

#3.综合
SELECT 分组列,MAX() 列别名 FROM 表名
WHERE 筛选列 筛选条件
GROUP BY 分组列
HAVING 列别名>6000
ORDER BY 列别名;#升序

#4.多个字段分组
SELECT MIN(),分组列1,分组列2 FROMGROUP BY 分组列1,分组列2
ORDER BY MIN() DESC;#降序

总结

没有总结,对你有帮助就好,脑壳疼。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ZhiCun_java/article/details/106806478
今日推荐