数据库好处:可以持久化数据到本地2、结构化查询
基础查询:
一、 语法
Select 查询列表
From 加表名
二、 特点
1.查询列表可以是字段、常量、表达式、函数等等
2.查询结果是一张虚拟表
三、示例
1.查询单个字段
2.查询多个字段
3.查询所有的字段
Select*from
4.查询常量
Select 常量
5查询函数
注意:字符型和日期型的常量值必须用单引号引起来,数值型不需要
6.查询表达式
7.去重
isnull函数
功能:判断某个字段或表达式是是否为null值,如是,则返回1,否则返回0;
Concat函数:拼接字符,语法:select concat(字符1,字符2……)。
条件查询:
一、 语法
Select 查询列表
From 表名
Where 条件筛选
排序查询:
1.特点:asc:升序。如不写默认升序,
desc:降序
2.排序列表 支持 单个字段、多个字段、表达式等等
3.orderby一般放在查询语句的后面
语法:
select 查询列表
from 表名
where 条件筛选
order by 排序列表
分组查询:
语法:
Select
from 表
Where 筛选条件
Group by 分组函数
Having 分组后的筛选
Order by 排序列表
二、 特点
使用关键字 筛选的表 位置
分组前筛选 where 原始表 group by的前面
分组后筛选 having 分组后的结果 group by 的后面
连接查询
分别:内连接、外连接、右连接、左连接、全外连接和交叉连接
一.内连接语法:
Select 查询连表
From
【inner】join 表2别名on连接条件
Where 筛选条件
Group by 分组列表
Having 分组后的筛选
Orderby 排序列表
Limit 子句
特点:
- 表的顺序可以调换
- 内连接的结果=多表的交集
二.外连接
语法:
Select 查询连表
From
Left|right|full[outer] join 表2别名on连接条件
Where 筛选条件
Group by 分组列表
Having 分组后的筛选
Orderby 排序列表
Limit 子句
特点:
1.查询的结果=主表中所有的行,如果从表和它匹配的将显示匹配行,如果从表没有匹的则显示null
2.left join 左边的就是主表,right join 右边的就是主表, full join 两边都是主表
3.一般用于查询除了交集部分的剩余的不匹配的行
三.交叉连接:
语法
select 查询列表
from 表1 别名
cross join 表2 别名;
特点:
类似于笛卡乘积
四.左连接:语法
LEFT JOIN 子句用于查询来自多个表的数据。它返回左表中的所有行和右表中的匹配行。 如果在右表中找不到匹配的行,则使用 NULL 代替显示。
五.右连接;
SELECT
select_list
FROM
T1 RIGHT JOIN T2 ON join_predicate