Tag: join

Oracle的加号(+)表示法和ansi JOIN表示法之间的区别?

使用oracle的加号(+)加上ANSI标准join符号的区别是什么? 性能有差别吗? 加号表示是否被弃用?

在Java中,添加两个字符的结果是int还是char?

当添加'a' + 'b'它会产生195.输出数据types是char还是int ?

1052:字段列表中的列“id”不明确

我有2桌子。 tbl_names和tbl_section ,它们都有id字段。 我如何去selectid字段,因为我总是得到这个错误: 1052: Column 'id' in field list is ambiguous 这是我的查询: SELECT id, name, section FROM tbl_names, tbl_section WHERE tbl_names.id = tbl_section.id 我可以select所有的字段,并避免错误。 但是,这将是一个浪费的performance。 我该怎么办?

为什么SQL ANSI-92标准没有被ANSI-89更好地采用呢?

在我工作过的每个公司,我发现人们仍然在用ANSI-89标准编写他们的SQL查询: select a.id, b.id, b.address_1 from person a, address b where a.id = b.id 而不是ANSI-92标准: select a.id, b.id, b.address_1 from person a inner join address b on a.id = b.id 对于这样一个非常简单的查询,可读性没有太大差别,但是对于大型查询,我发现将我的连接条件分组并列出表格可以更容易地查看我的连接中可能存在的问题,让我在我的WHERE子句中保留所有的过滤。 更不用说我觉得外连接比Oracle中的(+)语法更直观。 当我试图向人们传播ANSI-92时,在使用ANSI-92而不是ANSI-89上有什么具体的性能好处? 我会自己尝试,但是我们在这里的Oracle设置不允许我们使用EXPLAIN PLAN – 不想让人们尝试优化他们的代码,是吗?

SQL离开连接与FROM行上的多个表?

大多数SQL方言接受以下查询: SELECT a.foo, b.foo FROM a, b WHERE ax = bx SELECT a.foo, b.foo FROM a LEFT JOIN b ON ax = bx 现在显然,当你需要一个外连接时,第二个语法是必需的。 但是,当做一个内部连接,为什么我应该更喜欢第二个语法的第一个(反之亦然)?

SQL连接:where子句与on子句

读完之后,这不是 显式与隐式SQL联接的重复。 答案可能相关(甚至相同),但问题是不同的。 它们之间有什么区别,应该怎么办? 如果我理解正确,查询优化器应该能够交替使用。

LEFT OUTER JOIN LINQ

如何在不使用join-on-equals-into子句的情况下将C#LINQ中的左外连接执行到对象? 有什么方法可以用where子句做到这一点? 正确的问题:内部连接很容易,我有这样的解决scheme List<JoinPair> innerFinal = (from l in lefts from r in rights where l.Key == r.Key select new JoinPair { LeftId = l.Id, RightId = r.Id}) 但是对于左外连接,我需要一个解决scheme。 我的是这样的,但它不工作 List< JoinPair> leftFinal = (from l in lefts from r in rights select new JoinPair { LeftId = l.Id, RightId = ((l.Key==r.Key) ? r.Id : […]

我如何在MongoDB中执行SQL Join等价物?

我如何在MongoDB中执行SQL Join等价物? 例如说你有两个集合(用户和评论),我想拉所有的评论与pid = 444连同每个用户的信息。 comments { uid:12345, pid:444, comment="blah" } { uid:12345, pid:888, comment="asdf" } { uid:99999, pid:444, comment="qwer" } users { uid:12345, name:"john" } { uid:99999, name:"mia" } 有没有办法将所有的评论与一个特定的领域(例如… find({pid:444}))和每个评论的用户信息一起去? 目前,我首先得到符合我的标准的评论,然后找出结果集中的所有uid,获取用户对象,并将它们与评论结果合并。 好像我做错了。

如何做更新查询中的3表JOIN?

我问了一个问题,得到了这个答复,帮助。 UPDATE TABLE_A a JOIN TABLE_B b ON a.join_col = b.join_col AND a.column_a = b.column_b SET a.column_c = a.column_c + 1 现在我正在寻找这样做,如果有3桌涉及这样的事情。 UPDATE tableC c JOIN tableB b JOIN tableA a 我的问题是基本上…这是可能做一个UPDATE语句3表连接? 和它是什么正确的语法? 谢谢。 我要做… JOIN tableB, tableA JOIN tableB JOIN tableA

join与子查询

我是一个老派的MySQL用户,并一直首选JOIN子查询。 但是现在每个人都使用子查询,我讨厌它,我不知道为什么。 我缺乏理论知识来判断自己是否有任何区别。 子查询和JOIN一样好,因此没有什么可担心的?