sql - Impala或Hive在其他SQL语法中是否具有类似于IN子句的内容?

标签 sql hadoop plsql hive impala

Impala或Hive是否具有类似于PL / SQL的IN语句的内容?我正在寻找这样的东西:

SELECT * 
FROM employees
WHERE start_date IN
(SELECT DISTINCT date_id FROM calendar WHERE weekday = 'MON' AND year = '2013');

这将返回从2013年的星期一开始的所有员工的列表。

最佳答案

我应该提到这是一种可能的解决方案,也是我的首选解决方案:

SELECT * 
FROM employees emp
INNER JOIN 
    (SELECT 
    DISTINCT date_id
    FROM calendar 
    WHERE weekday = 'FRI' AND year = '2013') dates
ON dates.date_id = emp.start_date;

关于sql - Impala或Hive在其他SQL语法中是否具有类似于IN子句的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19727536/

相关文章:

mysql - 什么是更好的选择? IN 运算符或 EXISTS

SQL 查询查找 A 中的一个时间间隔覆盖但 B 中的时间间隔未覆盖的所有时间戳 ("subtract"或 "except"在多个时间间隔之间)

hadoop - map 减少字数示例

hadoop - Hbse:如何使用两个不同的条件进行行键过滤

sql - Oracle:在为多列表更新一个字段时复制行

sql - 在另一个架构中为表创建触发器时权限不足

sql - 为什么我没有收到错误?数据库如何理解嵌套子查询中的相关列?

php - 从 PHP 中的外键引用获取列值(名称)

sql - 连续的 WITH 子句

date - hive 中是否有将纪元时间转换为标准日期的函数?