32-Hive SQL DML语法之查询数据

1.Select语法树

复制代码
从哪里查询取决于FROM关键字后面的table_reference,
这是我们写查询SQL的首先要确定的事即你查询谁?
表名和列名不区分大小写。

案例:在数据集中有一份数据文件《us-covid19-counties.dat》,里面记录了2021-01-28美国各个县累计新冠确诊病例数和累计死亡病例数。

bash 复制代码
use liushao;
drop table if exists t_usa_covid19;
CREATE TABLE t_usa_covid19(
    count_date string,
    county string,-- 美国的县郡
    state string, -- 哪个洲
    fips int, --邮政编码
    cases int,--累计确诊病例
    deaths int)--死亡人数
row format delimited fields terminated by ",";

-- 加载数据
load data local inpath '/export/data/hivedata/covid19-counties.dat' into table liushao.t_usa_covid19;


select * from t_usa_covid19;

--  1. 查询 美国鬼子  美国的县郡  哪个洲 死了多少人
select county,state,deaths from t_usa_covid19;

select 1 from t_usa_covid19;

-- 2.我想看一下你目前正在使用哪个数据库
select  current_database();


--  3.匹配所有的行 (看 洲)
select state from t_usa_covid19;
-- 相当于
select all state from t_usa_covid19;


-- 4.数据去除重复
select distinct state from t_usa_covid19;

-- 5.使用条件
-- 一大于二十不成立的 返回 false ,不能查询到结果
select * from t_usa_covid19 where 1 > 2;

-- 六等于六成立 返回 true ,能查询到结果
select * from t_usa_covid19 where 6 =6;


-- 6.查找加利福尼亚州的 疫情数据
select * from t_usa_covid19 where state='California';

--  7.使用一下函数  长度  length() 查询州字母长度超过10位的
select * from t_usa_covid19 where length(state)>10;


--  8. 查询死亡人数超过100  的州  不能执行
--注意:where条件中不能使用聚合函数
-- --报错 SemanticException:Not yet supported place for UDAF 'sum'
--聚合函数要使用它的前提是结果集已经确定。
--而where子句还处于"确定"结果集的过程中,因而不能使用聚合函数。
-- select state,sum(deaths) from t_usa_covid19 where sum(deaths)>100 group by state;

select state,sum(deaths) from t_usa_covid19 group by state having sum(deaths)>100 ;

--9 查询 美国共有多少个的县郡   结果是: 3245

select  county from t_usa_covid19;

select  count(county) as county_nums from t_usa_covid19;

-- 去除重复的县郡  1930
select  count(distinct county) as county_nums from t_usa_covid19;



-- 10 查询一下美国加州有多少个县
select count(county) from t_usa_covid19 where state='California';

-- 11 统计德州总的死亡病例数
select sum(deaths) from  t_usa_covid19 where state='Texas';

-- 12 统计美国最高确诊病例是哪个县
select  max(cases) from  t_usa_covid19;


-- 回去 看看  group by   limit   order by  等 。。。
相关推荐
WeiQ_27 分钟前
解决phpstudy 8.x软件中php8.2.9没有redis扩展的问题
数据库·redis·缓存
梦里不知身是客114 小时前
spark读取table中的数据【hive】
大数据·hive·spark
DashVector5 小时前
向量检索服务 DashVector产品计费
数据库·数据仓库·人工智能·算法·向量检索
KYGALYX6 小时前
在Linux中备份msyql数据库和表的详细操作
linux·运维·数据库
檀越剑指大厂6 小时前
金仓KReplay:定义数据库平滑迁移新标准
数据库
努力成为一个程序猿.6 小时前
【Flink】FlinkSQL-动态表和持续查询概念
大数据·数据库·flink
kali-Myon7 小时前
NewStarCTF2025-Week4-Web
sql·安全·web安全·php·ctf·ssti·ssrf
毕设十刻7 小时前
基于Vue的学分预警系统98k51(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
liliangcsdn8 小时前
如何利用约束提示优化LLM在问题转sql的一致性
数据库·sql
Java爱好狂.8 小时前
分布式ID|从源码角度深度解析美团Leaf双Buffer优化方案
java·数据库·分布式·分布式id·es·java面试·java程序员