数据库的基本查询
(主要作为个人笔记)
1.投影查询 (1)消除取值重复的行:distinct 查询Orders -订单 的CustomerID 的不重复记录
select distinct customerid from orders;
(2)将字段用中文表示: 查询表 Categories -类别表
select CategoryID '类别ID' , CategoryName '类别名称' ,Description '说明' from Categories ;
(3)查询表的前n条记录:limit n 查询Orders -订单表的前3条记录
select * from orders limit 3;
2.选择查询
常用的查询条件 | 谓词 |
---|
比较 | = ,> , < , >= , <= , != , <> , !> , !< | 确定范围 | between and, not between and | 确定集合 | in , not in | 字符匹配 | like , not like | 空值 | is null , is not nul | 多重条件(逻辑运算) | and , or , not |
(1) between and 查询产品的UnitPrice -单价在 20 到50 之间的产品名称及库存量
select ProductID,UnitsInStock
from products
where UnitPrice between 20 and 50;
(2) in 查询订单表中北京、上海、武汉三个城市的货主名称、地址及订单号
select ShipName,ShipAddress,OrderID
from Orders
where ShipCity in ('北京','上海','武汉');
(3)[not] like ‘<匹配串>’ <匹配串>可以是一个完整的字符,也可以含有通配符 % 和 _ % : 代表任意长度的字符串。a%b 表示以a开头,以b结尾的任意长度的字符串,如 acb,addgb,ab等。 _ : 代表任意单个字符 例如a_b 表示以a开头,以b结尾的长度为3的任意字符串,acb,afb都满足。
3. 排序查询 order by (升序)ASC/(降序)DESC 查询产品表的所有字段和记录按单价由大到小排序
select *
from products
order by UnitPrice desc;
4. 结合统计函数:count , sum ,avg , max , min 统计不同类别ID 产品的平均单价,最高单价,最低单价
select ProductID,UnitsInStock
from products
where UnitPrice between 20 and 50;
|