hivesql练习
时间: 2023-07-27 16:27:57 浏览: 86
好的,您可以尝试以下练习:
1. 创建一个表,包含学生姓名、学号、性别、年龄等字段,并插入一些数据。
```
CREATE TABLE student (
name STRING,
id INT,
gender STRING,
age INT
);
INSERT INTO student VALUES
('张三', 1001, '男', 18),
('李四', 1002, '女', 19),
('王五', 1003, '男', 20),
('赵六', 1004, '女', 21);
```
2. 查询所有学生的姓名和年龄。
```
SELECT name, age FROM student;
```
3. 查询所有男生的姓名和年龄。
```
SELECT name, age FROM student WHERE gender='男';
```
4. 查询年龄最大的学生的姓名和年龄。
```
SELECT name, age FROM student ORDER BY age DESC LIMIT 1;
```
5. 将所有学生的年龄加一。
```
UPDATE student SET age=age+1;
```
6. 删除学号为1004的学生记录。
```
DELETE FROM student WHERE id=1004;
```
希望这些练习能够帮助您熟悉HiveSQL的使用。
相关问题
hive sql练习题目
Hive SQL练习题目通常旨在测试对Hive SQL语法和查询操作的理解和应用能力。这些题目通常要求从给定的数据表中提取特定的信息或执行特定的查询操作。
例如,以下是一个Hive SQL练习题目:
假设有一个数据表student,包含以下字段:id、name、age、gender、grade。
1. 查询所有女生的姓名:
```sql
SELECT name FROM student WHERE gender = '女';
```
2. 查询所有年龄大于18岁的学生的姓名和年龄:
```sql
SELECT name, age FROM student WHERE age > 18;
```
3. 统计每个年级的学生人数:
```sql
SELECT grade, COUNT(*) as student_count FROM student GROUP BY grade;
```
4. 查询每个年级最高年龄的学生的姓名和年龄:
```sql
SELECT s.name, s.age
FROM student s
JOIN (
SELECT grade, MAX(age) as max_age
FROM student
GROUP BY grade
) t
ON s.grade = t.grade AND s.age = t.max_age;
```
这些练习题目涵盖了Hive SQL中常见的查询语句和操作,要求掌握基本的SELECT、WHERE、GROUP BY和JOIN等语法和函数的使用。
通过这样的练习,可以帮助学习者熟悉Hive SQL的用法,并提升对数据处理和分析的能力。
hive sql练习题
答案:
1. 创建表
创建students表:
CREATE TABLE students (
id INT,
name STRING,
age INT,
gender STRING,
class_id INT
) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE; [2]
创建classes表:
CREATE TABLE classes (
id INT,
name STRING
) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE; [2]
2. 插入数据
插入数据到students表:
INSERT INTO students VALUES (1, 'John', 20, 'M', 1), (2, 'Jane', 22, 'F', 2); [1]
插入数据到classes表:
INSERT INTO classes VALUES (1, 'Math'), (2, 'Computer'); [1]
3. 查询所有男性学生的信息
SELECT * FROM students WHERE gender = 'M'; [1]
4. 查询所有20岁学生的姓名和班级名称
SELECT s.name, c.name FROM students s JOIN classes c ON s.class_id = c.id WHERE s.age = 20; [1]
阅读全文