Impala SELECT语句用于从数据库中的一个或多个表中提取数据。 此查询以表的形式返回数据。
语句
以下是Impala select语句的语法。
SELECT column1, column2, columnN from table_name;
这里,column1,column2 …是您要获取其值的表的字段。 如果要获取字段中的所有可用字段,则可以使用以下语法 –
SELECT * FROM table_name;
例
假设我们在Impala中有一个名为customers的表,其中包含以下数据 –
IDNAMEAGEADDRESSSALARY------------------------------1Ramesh32Ahmedabad200002Khilan25Delhi150003Hardik27Bhopal400004Chaitali25Mumbai350005kaushik23Kota300006Komal22Mp32000
您可以使用SELECT语句获取customers表的所有记录的id,name和age,如下所示 –
[quickstart.Cloudera:21000] > select id, name, age from customers;
在执行上述查询时,Impala从指定表中获取所有记录的id,name,age,并显示它们,如下所示。
Query: select id,name,age from customers+----+----------+-----+| id | name| age || 1| Ramesh| 32|| 2| Khilan| 25|| 3| Hardik| 27|| 4| Chaitali | 25|| 5| kaushik| 23|| 6| Komal| 22|+----+----------+-----+Fetched 6 row(s) in 0.66s
您还可以使用select查询从customers表中获取所有记录,如下所示。
[quickstart.cloudera:21000] > select name, age from customers;Query: select * from customers
在执行上述查询时,Impala从指定的表中提取和显示所有记录,如下所示。
+----+----------+-----+-----------+--------+| id | name| age | address| salary |+----+----------+-----+-----------+--------+| 1| Ramesh| 32| Ahmedabad | 20000|| 2| Khilan| 25| Delhi| 15000|| 3| Hardik| 27| Bhopal| 40000|| 4| Chaitali | 25| Mumbai| 35000|| 5| kaushik| 23| Kota| 30000|| 6| Komal| 22| MP| 32000|+----+----------+-----+-----------+--------+Fetched 6 row(s) in 0.66s
使用Hue获取记录
打开Impala查询编辑器并键入其中的select语句。 然后单击执行按钮,如下面的屏幕截图所示。

执行查询后,如果向下滚动并选择“结果”选项卡,则可以看到指定表的记录列表,如下所示。
SQL语句:学生表(学号,姓名,。。。),选课表(学号,课程号,成绩),写出没有选择课程号为"c101"的所
第一种:select a.学号,a.姓名 from 学生表 a where not exists (select b.* from 选课表 b where b.学号 =a .学号 and b.课程号=c101) ;第二种:select a.学号,a.姓名 from 学生表 a where a.学号 not in (select b.学号 from 选课表 b where b.课程号=c101) ;
如何恢复MySQL主从数据一致性
1. 备份主库数据,并在从库上恢复,在历史数据一致性的基础上开启同步,但这种方法比较麻烦,必须在主库上执行锁表操作,阻止客户端对于表数据的更新操作,而且在数据量大的情况下,备份也是个耗时的工程。 其实,这种方法在实际生产环境中也很少用。 2. Skip掉相关错误其实,这个说活不是很严谨,准备的说,是跳过相关的事务。 在我今天这种情况下,就是skip掉因违反主键约束而失败的INSERT语句。
发表评论