1. 创表语句
创建商品表,包含商品的名称和价格
2. 创建商品表,字段包括ID,商品名称,价格,数量,公司,备注,并且添加商品。
(已将表中price 改为 price decimal(6,2))
3. 添加数据
4. 修改语句
5. 删除语句
6. 起别名
7. 查询部分字段
8. 去重:根据所给字段,将字段中数据相同的数据合并保留一个
(以下是新表)
9. 条件查询,比较运算符
查询价格=30,并且出自并夕夕的商品信息
10. 模糊查询
%xxx :以xxx结尾,前面内容不限制
%xxx%:提取内容中包含目标信息的数据
like(_:匹配单个任意字符)
11. 范围查询
查询价格在30到50之间的商品信息。
注意:此时范围必须从小到大。
12. 条件查询
查询出自某东和x宝的商品信息
in (条件1,条件2,…):表示在某个不连续范围内
13. 空查询
14. 排序查询
ase:升序
desc:降序
15. 聚合函数
常用的聚合函数:
count( ):查询总记录数;
max( ):查询最大值;
min( ):查询最小值;
sum( ):求和;
avg( ):求平均值;
16. 分组
查询每家公司的商品信息数量
对比where和having:
- where是对from后面指定的表进行数据筛选,属于对原始数据的筛选。
- having是对group by的结果进行筛选。
- having后面的条件可以使用聚合函数,where后面不行。
17. 分页查询
查询当前表中3-6行的数据
在计算机中,不同于人类的自然计数从1开始,计算机的计数起始值是从0开始
查看指定页面的数据:
每页显示m条数据,显示第n页的数据
limit (n-1)*m,m;
18.内连接;左连接;右链接
内连接:显示两张表存在对应关系的数据,不对应关系的数据不显示。
语法:表1 inner join 表2 on 表1.字段=表2.字段
连接查询共用知识点;
左连接:以left join 关键字为界,关键字左侧的表的信息要全部显示出来,而关键字右侧表的信息有对应的部分则显示出来,无对应的部分则以null占位填充即可,
语法:表1 left join 表2 on 表1.字段=表2.字段
右连接:右连接主要解决3张及以上表的进行连接查询时常见。
以right join 关键字为界,关键字右侧的表的信息要全部显示出来,而关键字左侧表的信息有对应的部分则显示出来,无对应的部分则以null占位填充即可,
自关联:
特征:只有一张表,表中最少存在两列字段具备对应关系。
原理:通过起别名的方式,将1张表变为2张表,通过对应字段的对应关系,进行条件对比,实现链接查询。
需求:查询河南省所有的市
需求:查询河南省所有的市和区
上述内连接显示信息不全;
优化:
子查询:
需求:查询价格高于平均价的商品;
子查询:在一条查询语句中,利用另一条语句作为条件或者数据源,充当条件或者数据源的数据称为子查询语句,在where关键字后边的子查询语句是充当条件的。
子查询的分类:
根据子查询语句返回的结果形式体现,分为四类:
- 子查询返回的结果是一个值(一行一列):标量子查询。
- 子查询返回的结果是一列数据(一列多行):列子查询。
- 子查询返回的结果是一行数据(一行多列):列子查询。
- 子查询返回的结果是多行多列(相当于一张表):表级子查询