【问题标题】:SQL where join after/before conditionSQL where join after/before 条件
【发布时间】:2015-05-01 00:36:48
【问题描述】:

请求是我先加入的地方,然后添加条件和第一个条件,然后加入。 像这样:

select t1.*, t2.*
form bla t1, blabla t2
where t1.id = t2.id
and t1.number = 3

select t1.*, t2.*
form bla t1, blabla t2
where t1.number = 3
and t1.id = t2.id

【问题讨论】:

  • 运行它们时你观察到了什么?
  • 你问的不是很清楚!你会问这两个语句之间是否有区别?
  • Bad habits to kick : using old-style JOINs - 旧式 逗号分隔的表格列表 样式已替换为 ANSI 中的 proper ANSI JOIN 语法-92 SQL 标准(20 多年前),不鼓励使用它

标签: sql join conditional-statements


【解决方案1】:

最佳和首选的解决方案是使用正确的 ANSI/ISO JOIN 语法并完全避免这个问题:

SELECT 
    t1.*, t2.*
FROM
    bla t1
INNER JOIN
    blabla t2 ON t1.id = t2.id
WHERE
    t1.number = 3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 2013-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 2014-03-01
    相关资源
    最近更新 更多