查询表的数据并且可以给别的字段起别名
SELECT
s.id AS '编号',-- 编号
s.`name` AS '姓名',-- 姓名
s.`age` AS '年龄',-- 年龄
s.sex AS '性别',-- 性别
s.`address` AS '地址', -- 地址
s.`math` AS '数学成绩',-- 数学
s.`english` AS '英语成绩' -- 英语
FROM
student3 AS s ;(AS可以省略)
通过关键字DISTINCT,可以去重
SELECT
DISTINCT address
FROM student3;
查询的时候,可以将字段为整数类型进行求和
SELECT
id '员工编号' ,
NAME '员工姓名',
age '员工年龄',
sex '员工性别',
(math+english) '总分'注意事项:两个整数类型求和,如何一个字段是null值,结果null(没意义,空值)
在mysql里面有函数 ifnull(字段名称,期望值) ; 如果当前字段名称为null值,给一个期望值
带条件查询
情况1:select 指定的字段名称 from 表名 where 条件 ;
-- where 后面可以使用 赋值运算符=, 比较运算符<,<=,>,>=,!=如:
SELECT
*
FROM
student3
WHERE
age = 20 ;-- mysql里面判断某个条件不等于,<>(不等于)
-- where后面跟多个条件,并列条件或者或的条件
-- 可以使用 逻辑符号 &&(并列),||(或),mysql中可用 and 和 or其中and也可以用 between 值1 and 值2 ;
or也可以用in(值1,值2,值3) ;
where 条件后面可以跟某个字段为null 的格式
english == null ; */ -- 这个语法格式不支持的!
应该为 where 字段名称 is null ;
模糊查询(模糊搜索):关键字 like
select 指定字段列表 from 表名 where 字段名称 like '%字符%'
%:就是匹配任意字符(代表多个字符),(使用最多)
_:一个下划线代表一个任意字符值 (包含关系) ,使用不多
SELECT
*
FROM
student3
WHERE
NAME
LIKE '%马%' ;
聚合函数查询:------ 单行单例的数据
语法 select 聚合函数(字段名称) from 表名 ;
count(字段名称):查询当前表的记录数
字段名称:一般非业务字段 id,如果业务字段的有些值null,数据存在漏洞的!
sum(字段名称):求和,针对某列字段值进行求和(整数)
avg(字段名称):平均分函数
max(字段名称) :最大值函数
min(字段名称) :最小值函数通用写法:统计有多少条信息
SELECT COUNT(id) '总记录数' FROM student3 ;
求和
SELECT
SUM(math) '数学成绩总和'
FROM student3 ;平均分
SELECT
AVG(math) '数学平均分'
FROM
student3;最值
SELECT
MAX(math) '最高分',
MIN(math) '最低分'
FROM student3 ;
排序查询 关键字order by
-- 语法:select 字段列表 from 表名 order by 字段名称 排序规则
-- 排序规则: asc :升序(默认值) desc :降序如:
需求:查询数学成绩降序,英语成绩是升序的所有学生信息
-- 如果数学成绩相同,按照英语成绩排序规则进行操作SELECT
*
FROM
student3
ORDER BYmath DESC ,english ASC ;
今日作业: