Hive -------- hive常見查詢練習
表名和欄位
–1.學生表
Student(s_id,s_name,s_birth,s_sex) –學生編號,學生姓名, 出生年月,學生性別
–2.課程表
Course(c_id,c_name,t_id) – –課程編號, 課程名稱, 教師編號
–3.教師表
Teacher(t_id,t_name) –教師編號,教師姓名
–4.成績表
Score(s_id,c_id,s_score) –學生編號,課程編號,分數
測試資料
--建表--學生表
CREATE TABLE test.Student(s_id int,s_name string,s_birth string,s_sex string) row format delimited fields terminated by ',';
--課程表
CREATE TABLE test.Course(c_id int,c_name string ,t_id int) row format delimited fields terminated by ',';
--教師表
CREATE TABLE test.Teacher(t_id int,t_name string)row format delimited fields terminated by ',';
--成績表
CREATE TABLE test.Score(s_id int,c_id int, s_score int)row format delimited fields terminated by ',';
--學生表測試資料
01,zhaolei,1990-01-01,male
02,qianfeng,1990-12-21,male
03,sunfeng,1990-05-20,male
04,liyun,1990-08-06,male
05,zhoumei,1991-12-01,female
06,wulan,1992-03-01,female
07,zhengzu,1989-07-01,female
08,wangju,1990-01-20,female
--課程表測試資料
01,chinese,02
02,math,01
03,english,03
--教師表測試資料
01,laochang
02,dazhao
03,laoli
--成績表測試資料
01,01,80
01,02,90
01,03,99
02,01,70
02,02,60
02,03,80
03,01,80
03,02,80
03,03,80
04,01,50
04,02,30
04,03,20
05,01,76
05,02,87
06,01,31
06,03,34
07,02,89
07,03,98
練習題和sql語句
基礎sql語句
- 統計每個學生的總分。
- 統計出學號和總分
select s_id , sum(s_score) as zf from score group by s_id
上表結果和stuent做join連線
select stu.s_name,zf.ss from
(select s_id , sum(s_score) as ss from score group by s_id) as zf
Join
student as stu
on stu.s_id=zf.s_id;
2.查詢表中所有學生的姓名和對應的英語成績。
select stu.s_name,c.c_name,s.s_score from
score as s
join
course as c
on s.c_id=c.c_id
join
student as stu
on stu.s_id = s.s_id
where
c.c_name = 'english';
3. 在所有學生總分數上加10分特長分。
關鍵程式碼
select s_id,sum(s_score)+10 from score group by s_id;
- 查詢姓名為liyun的學生總成績
select sum(s_score) from score where s_id in (select s_id from student where s_name='liyun');
查詢英語成績大於90分的同學
8.查詢總分大於270分的所有同學
- 查詢英語分數在 80-90之間的同學。
- 查詢數學分數為89,90,91的同學。
- 查詢所有姓li的學生平均成績。
- 查詢數學分>80,語文分>80的同學。
- 對數學成績排序後輸出。
- 對總分排序後輸出,然後再按從高到低的順序輸出
- 對姓li的學生數學成績排序輸出
相關文章
- [Hive]Hive實現抽樣查詢Hive
- Hive學習之常見屬性配置Hive
- [Hive]Hive中表連線的優化,加快查詢速度Hive優化
- Hive高階操作-查詢操作Hive
- hive查詢注意事項和調優Hive
- hive表查詢中文顯示亂碼Hive
- 開發中hive常見的調優策略Hive
- Hive學習之Hive的安裝Hive
- Hive學習Hive
- Hive-常見調優方式 && 兩個面試sqlHive面試SQL
- Hive內部函式簡介及查詢語法Hive函式
- 使用Presto查詢hive表資料時報"Error opening Hive split hdfs"問題,及解決方法RESTHiveError
- 常見的查詢操作
- Mysql查詢練習MySql
- MYSQL練習1: DQL查詢練習MySql
- Hive --------- hive 的優化Hive優化
- [Hive]Hive排序優化Hive排序優化
- HIVE學習之(三)Hive
- 好程式設計師大資料學習路線之hive表的查詢程式設計師大資料Hive
- 常見通用的Join查詢
- 【Hive】hive資料遷移Hive
- Spark SQL解析查詢parquet格式Hive表獲取分割槽欄位和查詢條件SparkSQLHive
- HIVEHive
- Hive學習之基本操作Hive
- hfm系統常見表查詢
- hive學習之四:hive檔案格式以及壓縮編碼Hive
- 【Hive一】Hive安裝及配置Hive
- Flume和Hive整合之hive sinkHive
- Hive SQL必刷練習題:同時線上人數問題(*****)HiveSQL
- 報表連 hive,資料量比較大,怎麼分頁查詢?Hive
- hive將查詢資料插入表中某欄位無資料Hive
- HIVE基本語法以及HIVE分割槽Hive
- flink實戰--讀寫Hive(Flink on Hive)Hive
- hive匯出到csv hive匯出到excelHiveExcel
- [持續更新]hive異常解決方案Hive
- java常見遞迴練習題Java遞迴
- Hive學習之JDBC訪問HiveJDBC
- Presto 與 Hive 語法學習RESTHive