文章目录
1、单表查询语法优先级,从上往下
执行顺序
写查询语句时按优先级思考!
from 库,表 先找到文件夹
where拿着where指定的约束条件,去文件/表中取出一条条记录
group by 分组条件写到where之后,如果没有group by,则整体作为一组
having 过滤
select 选择显示的字段,!!!逗号分隔,有几个逗号显示几列!
distinct 去重
order by 排序字段
limit n;限制结果的显示条数
语法顺序:
select distinct 字段1,字段2,字段3 from 库.表
where 条件
group by 分组条件
having 过滤
order by 排序字段
limit n;
2、select 四则运算和自定义显示格式
#通过四则运算查询,
SELECT name, salary*12 FROM employee;
SELECT name, salary*12 AS Annual_salary FROM employee;
SELECT name, salary*12 Annual_salary FROM employee;
#定义显示格式
CONCAT() 函数用于连接字符串
SELECT CONCAT('姓名: ',name,' 年薪: ', salary*12) AS Annual_salary
FROM employee;
select concat('姓名:',name,' 性别:',sex) as info,concat('年薪:',salary*12) as salary from t1;
每一条内容都是这样的格式。
CONCAT_WS() 第一个参数为分隔符
SELECT CONCAT_WS(':',name,salary*12) AS Annual_salary
FROM employee;
as可以省略,起别名:
mysql> select count(sid) '学生总数' from student;
+--------------+
| 学生总数 |
+--------------+
| 19 |
+--------------+
一个逗号是一列,看下面对比:
mysql> select concat('姓名:',sname,' ', '性别:',gender)from student;
+-----------------------------------------------------+
| concat('姓名:',sname,' ', '性别:',gender) |
+-----------------------------------------------------+
| 姓名:乔丹 性别:女 |
| 姓名:艾弗森 性别:女 |
| 姓名:科比 性别:女 |
| 姓名:奥尼尔 性别:男 |
| 姓名:姚明 性别:男 |
| 姓名:麦迪 性别:男 |
| 姓名:斯科拉 性别:男 |
| 姓名:詹姆斯 性别:男 |
| 姓名:韦德 性别:女