是不是等于加入标准用途? T-SQL

时间:2015-06-17 19:40:52

标签: sql join

我有一张桌子" Price"应该根据存储在另一个表中的值进行过滤" CutPrice" (意味着只显示低于存储参数的价格)。

我以各种方式进行了实验,为了笑,我做了以下几点:

from tornado.web import RequestHandler

db = SqliteDatabase('my_db.db')

class PeeweeRequestHandler(RequestHandler):
    def prepare(self):
        db.connect()
        return super(PeeweeRequestHandler, self).prepare()

    def on_finish(self):
        if not db.is_closed():
            db.close()
        return super(PeeweeRequestHandler, self).on_finish()

使用低于符号可以很好地工作,它比我在另一个版本的查询中使用的Case语句更快。

我尝试谷歌搜索它,看看它是否是标准的,推荐的,不推荐的,甚至是错误,也许?

我找不到任何东西。所以我知道,该网站的问题可能有点广泛,但这是JOINS的标准用法还是在使用时有什么要小心的?特别是关于SQL Server 2005上的T-SQL

1 个答案:

答案 0 :(得分:1)

非equi连接是SQL的一个非常标准的部分。例如,请参阅http://blog.mclaughlinsoftware.com/oracle-sql-programming/basic-sql-join-semantics/。大多数主要数据库都支持非equi连接,通常使用SQL 92 JOIN ON语法和pre-SQL 92 WHERE语法。但是,如果您有一个特定的数据库,请搜索非等同加入<db name>&#39;通常会发现它并不支持它们,例如Hive: work around for non equi left join