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 min(UnitPrice) from Product

--查询最贵的进货价是多少

--代码示例
select max(UnitPrice) from Product

--查询进货总共花了多少钱

--代码示例
select sum(UnitPrice) from Product

--查询进货价平均值

--代码示例
select avg(UnitPrice) from Product

--查询总共多少件商品(统计数量)

--代码示例
select count(*) from Product

--查询每种商品分类下有几件商品

--代码示例
select pc.Name,count(*) from ProductCategory pc join Product p
on pc.Id = p.CategoryId group by pc.Name

--分组:一旦有了分组,则select 后只能跟分组的列名以及聚合函数
--查询每种商品分类下有几件商品:要求分类名称中含有裤字

--代码示例
select pc.Name,count(*) from ProductCategory pc join Product p
on pc.Id = p.CategoryId
where PC.Name like'%裤%'group by pc.Name

----查询每种商品分类下有几件商品:要求分类名称中含有裤字且数量大于2且按照数量升序排列

--代码示例select pc.Name,count(*) as num from ProductCategory pc join Product p
on pc.Id = p.CategoryId
where PC.Name like'%裤%'group by pc.Namehaving count(*)>2order by num

--关键字出场顺序
 --select 列名 from 表名  where 普通条件 group by 分组 having 聚合条件 order by 排序
 --相关子查询
 --查询每种商品分类下有几件商品

--代码示例
select Name,
(select count(*) from Product p where p.CategoryId = pc.Id )from ProductCategory pc

--商品图片表中有一列商品图片路径picurl且类型是主图的关联到商品表中

--代码示例
select(
select picurl from ProductPic pp where PicType='主图'
and pp.ProductId = p.Id
),* from Product p

SQL server-数据库的查询(高级)相关推荐

  1. sql server数据库 T-SQL查询语句(基本篇)

    接上篇sql server 数据库增删改查(库与表) 删除数据 delete 表名 where 查询条件 T-sql查询语句 T-sql语句 增强版的sql语句,增加了更多的函数应用,流程控制,变量说 ...

  2. SQL Server数据库的T-SQL高级查询

    一.查询使用的函数 请自行创建数据库和表,表中插入数据,我的样例如下: create database accp; <!--创建accp数据库--> use accp; <!--切换 ...

  3. .bat文件实现对Sql Server数据库的查询

    想做一个数据库的小工具,所以就想到了用脚本实现简单的数据库查询 话不多说,现在贴上代码 @ECHO OFF SET dbHost= 192.168.1.125 SET dbUserID=USERID ...

  4. SQL Server数据库的查询、排序

    查询的对象是表,关键字是select 图表 1   查询的是整张表的数据 注意:在表名前一个要加上模式名,不然就报对象名无效的错误(见图2)为什么会报这种错误了,主要是表名前面没有模式名,然后表就获取 ...

  5. SQL Server数据库简单查询

    1.查询的格式:SELECT 字段名称 FROM 表名 [WHERE 条件表达式] [ORDER BY 字段名称 ASC(升序)|DESC(降 序)]例如:SELECT *FROM USER [查询标 ...

  6. SQL Server 数据库(高级)完结篇

    SQL Server 数据库 1.0 数据库设计 1.1 什么是数据库设计? 1.2 设计数据库的重要性 1.3 实体-关系 1.4 数据库设计步骤: 1.5 绘制E-R图 1.6 映射基数 1.7 ...

  7. delphi使用MS Sql Server数据库的分布式查询

    目录 delphi使用MS Sql Server数据库的分布式查询 一.链接服务器 1.1.简单的链接服务器 1.2.含多数据库架构的全链接服务器 1.3.链接服务器的理论与总结 语法: 参数: 本系 ...

  8. SQL Server数据库查询速度慢的原因和解决方法

    SQL Server数据库查询速度慢的原因和解决方法 参考文章: (1)SQL Server数据库查询速度慢的原因和解决方法 (2)https://www.cnblogs.com/MyChange/p ...

  9. 优化SQL Server数据库查询方法

    本文详细介绍了优化SQL Server数据库查询方法. SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) ...

  10. 在 sql server 中,查询 数据库的大小 和 数据库中各表的大小

    2019独角兽企业重金招聘Python工程师标准>>> 在 sql server 中,查询 数据库的大小 和 数据库中各表的大小 其实本来只想找一个方法能查询一下 数据库 的大小,没 ...

最新文章

  1. 通过Windows DShow获取设备名、支持的编解码及视频size列表实现
  2. 如何用赌场风云解释隐马尔可夫模型(HMM)?
  3. 网络:窗口控制下的重发机制、流量控制
  4. php怎么改,php怎么修改图片
  5. 计算机导论中IEE是什么缩写,Proc.IEE是期刊吗?全称是什么
  6. mvdr波束形成原理_5G的“波束赋形”技术是什么东东?
  7. VS2012无法安装cocos2d-x-2.1.4 解决方法及VS2012新建coco2d-x项目(一)
  8. linux我如何查看一个脚本的路径,linux获取shell脚本所在绝对路径操作介绍
  9. linux图形环境小记
  10. MFC初探 —— 双击Picture Control具体位置放大图片
  11. Java web servers 间是如何实现 session 同步的
  12. ZXECS-IBX1000综合业务交换
  13. 英文面试二——why you are looking for a new job
  14. PYTHON h5py库包安装及读写
  15. 某公司要开发新游戏,请用面向对象的思想,设计游戏中的蛇怪和蜈蚣精
  16. 计算机与linux操作系统的发展
  17. 如何判断mp4的moov的位置
  18. 苹果手机的专用充电宝有哪些?苹果官方授权无线充电宝推荐
  19. 事业上如何运用“长尾理论”?
  20. 软件架构场景之—— BFF:如何处理好微服务之间千丝万缕的关系?

热门文章

  1. 读书印记 - 《历代经济变革得失》
  2. omapl138移植uboot系列之添加属于我们自己的板卡(第四篇)
  3. 阿里云服务器被攻击的危害有多大
  4. 浙大Python 第1章-3 输出“人生苦短,我学Python” (10 分) ---- 过于ez
  5. (FJWC2020)DTOJ 4688. 迫害 DJ
  6. 拿破仑最欣赏的数学家,师从拉格朗日,撕逼泊松,一生痴迷热学最后却死于热学...
  7. 某互联网银行 区块链技术暑假实习生在线笔试 回忆
  8. 李彦宏重新掌舵百度后的首份答卷:强调搜索核心地位
  9. riopoly matlab,rio极简数据导入教程
  10. 计算机右键括号内的字母,排序快捷键 excel|关于EXCEL的。如图,括号里面的字母是不是代表快捷键的意思?怎么快捷?...