Sql学习04(11.23-11.24)
一、关键点
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)相关推荐
- 【微语】第二周(11.23~11.29)
11.23.储存阳光,必有远芳,心中有暖,又何惧人生荒凉. 11.24.人的一生无论重来多少次,都会有遗憾.可以回头看但不要往回走,因为逆行是全责. 11.25.知人不必言尽,言尽则无友.责人不必苛尽 ...
- SQL学习>2.23
均来自B站黑马程序员JavaWeb课程,为整理供个人使用的笔记.大多为课程ppt截图和课例代码. 1.DDL(data defination language)数据库定义语言 操作数据库 ...
- 带领初学者学习 SQL 数据库编程视频教程(11 个视频)
带领初学者学习 SQL 数据库编程视频教程(11 个视频) #1 课程介绍「02:04」 #2 在各操作系统中安装 MySQL 和 PostgreSQL 数据库「05:46」 #3 工欲善其事,必先利 ...
- 201771010126 王燕《面向对象程序设计(Java)》第十四周学习总结(测试程序11)...
实验十四 Swing图形界面组件 理论部分: 不使用布局管理器 有时候可能不想使用任何布局管理器,而只 是想把组件放在一个固定的位置上.下面是将一 个组件定位到某个绝对定位的步骤: 1)将布局管理器 ...
- Linux学习笔记(2014/11/18前 )
第一天: 认识E9供电.复位,LCD液晶显示屏连接方式.磁盘资料copy: 第二天: 认识下载模式(很奇怪的模式,不是由boot_mode0/boot_mode1决定),putty的安装(打印信息的输 ...
- 预习: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 ...
- 《Python自然语言处理(第二版)-Steven Bird等》学习笔记:第11章 语言数据管理
第11章 语言数据管理 11.1 语料库结构:一个案例研究 主要设计特点 基本数据类型 11.2 语料库生命周期 语料库创建的三种方案 质量控制 维护与演变 11.3 数据采集 从网上获取数据 从字处 ...
- SQL Server安全(4/11):许可(Permissions)
在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切.但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念.这篇文章提供了基础,因此你可以对SQL Se ...
- 第35次Scrum会议(11/23)【欢迎来怼】
一.小组信息 队名:欢迎来怼 小组成员 队长:田继平 成员:李圆圆,葛美义,王伟东,姜珊,邵朔,阚博文 小组照片 二.开会信息 时间:2017/11/23 17:03~17:24,总计21min. 地 ...
- (转)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 ...
最新文章
- 首个国产量子操作系统「本源司南」重磅问世!!!
- 手机端仿ios的1-n级联动脚本二
- Hadoop学习之Hadoop集群的定制配置(一)
- SVC和PendSV
- php多进程实现 亲测
- 【H264码流分析】 SPS/PPS/Slice Header
- python字符串转义序列_Python | 忽略字符串中的转义序列
- 怎么两边同时取ln_羊肉汤怎么炖才好喝?小猫教你这么做,做出来汤浓白,好喝无膻味...
- 如何在Eclipse中从XSD生成XML
- C#值类型和引用类型的区别
- (转)apple-touch-icon-precomposed 和 apple-touch-icon属性区别
- hibernate中实体类对象的四种状态
- 【小程序】拼多多领劵小程序修复版分享
- 查看世界编程语言排行榜
- laravel框架图片无法显示问题
- 如何部署JSP应用到阿里云服务器上(一)
- 【搜索】2019 SUST ACM Summer Training 搜索 题解
- C语言实现学生成绩管理系统(EasyX图形界面)
- Java常用框架学习
- 百度MIP组件使用方法:mip-list mip-infinitescroll等