1.能用表连接优先使用表连接
2.能用表连接实现的就能用子查询实现 反过来不一定成立
3.聚合函数:sum() count() max() min() avg(),一般聚合结合分组使用
4.聚合条件 使用 having 且跟在分组之后
--查询下过订单的客户编号、姓名及其电话。
--代码示例
select c.UserId,c.RealName,c.MPhone from Customers c join Orders o
on c.UserId = o.CustomerId
--子查询:嵌套在查询中的查询(把子查询作为外层的某个条件)
--代码示例
--1.先查询订单表中客户的编号
select CustomerId from Orders
--2.把客户的编号作为条件 查询客户的姓名、电话
select UserId,RealName,MPhone from Customers where UserId in(
select CustomerId from Orders)
--查询牛仔裤下有哪些商品
--代码示例
select id from ProductCategory where Name='牛仔裤'
--将id作为条件查询结果
select * from Product where CategoryId in(
select id from ProductCategory where Name='牛仔裤')
--聚合函数 sum() avg() max() min() count()一般结合分组来使用分组统计
--查询最便宜的进货价是多少
--代码示例
select