每当我们面前有任何查询描述时,我们都会尝试应用启发式和头脑风暴来构建查询。
是否有任何系统的分步或数学方法可以根据给定的人类可读描述构建 SQL 查询?
例如,如何确定 SQL 查询是否需要联接而不是子查询、是否需要 group by、是否需要 IN 子句等等。
例如,任何研究数字电子学的人都会知道卡诺图或奎因·麦克劳斯基方法等方法。这些是简化数字逻辑的一些系统方法。
是否有类似这样的方法来手动分析sql查询以避免每次头脑风暴?
我试图遵循这个答案,但我的问题略有不同。
我有两个 pyspark 数据框df2和bears2. 两者都有一个整数变量,我想创建一个像这个伪代码的布尔值:
df3 = df2.withColumn("game", (df2.week_id.isin(bears2.week_if), 1,0))
Run Code Online (Sandbox Code Playgroud)
基本上,如果 的值df2存在于 的对应列中bears2,我想要一个1else a0
我尝试了expr()另一个问题,但无法使其正常工作。它看起来像这样:
new_column_1 = F.expr(
"""IF(df2.week_id IN(bears2.week_if), 1, 0))"""
)
Run Code Online (Sandbox Code Playgroud) 我很想知道,如何以 Spark Dataframe 方式实现类似 SQL 的 Exists 子句。