我有一张桌子" 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
答案 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