一、关键点

1、需要注意的是 hive中进行join关联时,关联列要避免使用隐式数据类型转换,否则容易导致数据倾斜

2、时间日期类型和字符串,数值以及缺失值均能兼容。

3、如果分组列和被聚合的列不在同一张表, 且二者都未被用于连结两张表, 则只能先连结, 再聚合。

4、SQL查询的执行顺序(FROM->WHERE->SELECT),我们发现, 问题可能出在筛选条件上, 因为在进行完外连结后才会执行WHERE子句, 因此那些主表中无法被匹配到的行就被WHERE条件筛选掉了。明白了这一点, 我们要记住先写个子查询,然后再把这个子查询和主表连结起来。

二、练习

4.1

SELECT p1.*
FROM product as p1
where sale_price>500
UNION
SELECT p2.*
FROM product2 as p2
WHERE sale_price>500;

4.2

SELECT
    * 
FROM
    product 
WHERE
    product_id IN ( SELECT product_id FROM product2 );

4.3

-- 找出每类商品中售价最高的商品在哪些商店有售
SELECT P1.product_type,P1.product_id,P1.product_name,P1.sale_price,P3.shop_name
FROM product AS P1
INNER JOIN
(SELECT product_type,MAX(sale_price)as max
FROM product 
GROUP BY product_type)AS P2
ON P1.product_type=P2.product_type
AND P1.sale_price=P2.max
INNER JOIN
shopproduct AS P3
ON P1.product_id=P3.product_id
ORDER BY product_id ;

4.4

关联子查询:

-- 找出每类商品中售价最高的商品
SELECT P1.product_type,P1.product_id,P1.product_name,P1.sale_price
FROM product AS P1
WHERE P1.sale_price=
(SELECT MAX(sale_price)
FROM product AS P2
WHERE P1.product_type=P2.product_type
GROUP BY product_type)
ORDER BY product_id ;

内连接:

-- 找出每类商品中售价最高的商品
SELECT P1.product_type,P1.product_id,P1.product_name,P1.sale_price
FROM product AS P1
INNER JOIN
(SELECT product_type,MAX(sale_price)as max
FROM product 
GROUP BY product_type)AS P2
ON P1.product_type=P2.product_type
AND P1.sale_price=P2.max
ORDER BY product_id ;

4.5

-- 在 product 表中,取出 product_id, produc_name, sale_price, 并按照商品的售价从低到高进行排序、对售价进行累计求和。
SELECT P1.product_id,P1.product_name,P1.sale_price,
(SELECT SUM(sale_price) 
FROM product AS P2
WHERE P1.sale_price >= P2.sale_price
OR  P1.product_id=P2.product_id
 )as '累计求和'
FROM product AS P1
ORDER BY sale_price;

Sql学习04(11.23-11.24)相关推荐

  1. 【微语】第二周(11.23~11.29)

    11.23.储存阳光,必有远芳,心中有暖,又何惧人生荒凉. 11.24.人的一生无论重来多少次,都会有遗憾.可以回头看但不要往回走,因为逆行是全责. 11.25.知人不必言尽,言尽则无友.责人不必苛尽 ...

  2. SQL学习>2.23

    均来自B站黑马程序员JavaWeb课程,为整理供个人使用的笔记.大多为课程ppt截图和课例代码.​​​​​​​ 1.DDL(data defination language)数据库定义语言 操作数据库 ...

  3. 带领初学者学习 SQL 数据库编程视频教程(11 个视频)

    带领初学者学习 SQL 数据库编程视频教程(11 个视频) #1 课程介绍「02:04」 #2 在各操作系统中安装 MySQL 和 PostgreSQL 数据库「05:46」 #3 工欲善其事,必先利 ...

  4. 201771010126 王燕《面向对象程序设计(Java)》第十四周学习总结(测试程序11)...

    实验十四  Swing图形界面组件 理论部分: 不使用布局管理器 有时候可能不想使用任何布局管理器,而只 是想把组件放在一个固定的位置上.下面是将一 个组件定位到某个绝对定位的步骤: 1)将布局管理器 ...

  5. Linux学习笔记(2014/11/18前 )

    第一天: 认识E9供电.复位,LCD液晶显示屏连接方式.磁盘资料copy: 第二天: 认识下载模式(很奇怪的模式,不是由boot_mode0/boot_mode1决定),putty的安装(打印信息的输 ...

  6. 预习:11.16/11.17 Apache默认虚拟主机-11.24 静态元素过期时间

    预习: 11.16/11.17 Apache默认虚拟主机 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志 11.22 访问日志不记录静态文件 11 ...

  7. 《Python自然语言处理(第二版)-Steven Bird等》学习笔记:第11章 语言数据管理

    第11章 语言数据管理 11.1 语料库结构:一个案例研究 主要设计特点 基本数据类型 11.2 语料库生命周期 语料库创建的三种方案 质量控制 维护与演变 11.3 数据采集 从网上获取数据 从字处 ...

  8. SQL Server安全(4/11):许可(Permissions)

    在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切.但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念.这篇文章提供了基础,因此你可以对SQL Se ...

  9. 第35次Scrum会议(11/23)【欢迎来怼】

    一.小组信息 队名:欢迎来怼 小组成员 队长:田继平 成员:李圆圆,葛美义,王伟东,姜珊,邵朔,阚博文 小组照片 二.开会信息 时间:2017/11/23 17:03~17:24,总计21min. 地 ...

  10. (转)Spring4.2.5+Hibernate4.3.11+Struts2.3.24整合开发

    http://blog.csdn.net/yerenyuan_pku/article/details/52902851 前面我们已经学会了Spring4.2.5+Hibernate4.3.11+Str ...

最新文章

  1. 首个国产量子操作系统「本源司南」重磅问世!!!
  2. 手机端仿ios的1-n级联动脚本二
  3. Hadoop学习之Hadoop集群的定制配置(一)
  4. SVC和PendSV
  5. php多进程实现 亲测
  6. 【H264码流分析】 SPS/PPS/Slice Header
  7. python字符串转义序列_Python | 忽略字符串中的转义序列
  8. 怎么两边同时取ln_羊肉汤怎么炖才好喝?小猫教你这么做,做出来汤浓白,好喝无膻味...
  9. 如何在Eclipse中从XSD生成XML
  10. C#值类型和引用类型的区别
  11. (转)apple-touch-icon-precomposed 和 apple-touch-icon属性区别
  12. hibernate中实体类对象的四种状态
  13. 【小程序】拼多多领劵小程序修复版分享
  14. 查看世界编程语言排行榜
  15. laravel框架图片无法显示问题
  16. 如何部署JSP应用到阿里云服务器上(一)
  17. 【搜索】2019 SUST ACM Summer Training 搜索 题解
  18. C语言实现学生成绩管理系统(EasyX图形界面)
  19. Java常用框架学习
  20. 百度MIP组件使用方法:mip-list mip-infinitescroll等

热门文章

  1. 选取销售订单开发票,控制销售订单中已开票金额
  2. java 人民币转换,java人民币大小写转换方法
  3. 几何公差基础知识之圆度
  4. 随机数生成器python_python安全开发军规之四:使用安全的随机数生成器
  5. 随机数生成器Random类
  6. VO快速搜索 宝马VO 宝马VO翻译 VO码查询工具
  7. GAN·生成对抗网络——札记2-读《生成式对抗网络 GAN 的研究进展与展望》
  8. 人工智能 感情 自我意识
  9. 员工考勤iPhone客户端1.0版简介
  10. JAVA实现跨平台的原理