Can-MySQL/SQL';s的缩写为;使用;使用时不要说;内部联接“;?
以下两条语句将使用gifts.giftID=sentgifts.giftID加入:Can-MySQL/SQL';s的缩写为;使用;使用时不要说;内部联接“;?,sql,mysql,join,inner-join,using,Sql,Mysql,Join,Inner Join,Using,以下两条语句将使用gifts.giftID=sentgifts.giftID加入: mysql> select * from gifts, sentgifts using (giftID); ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use ne
mysql> select * from gifts, sentgifts using (giftID);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'using
(giftID)' at line 1
第二个:
mysql> select * from gifts INNER JOIN sentgifts using (giftID);
+--------+------------+----------------+---------------------+--------+------------+--------+------+---------------------+
| giftID | name | filename | effectiveTime | sentID | whenSent | fromID | toID | trytryWhen |
+--------+------------+----------------+---------------------+--------+------------+--------+------+---------------------+
| 2 | teddy bear | bear.jpg | 2010-04-24 04:36:03 | 4 | 2010-04-24 | NULL | 111 | 2010-04-24 03:10:42 |
| 6 | beer | beer_glass.png | 2010-04-24 05:18:12 | 5 | 2010-03-03 | 11 | 22 | 2010-03-03 00:00:00 |
| 6 | beer | beer_glass.png | 2010-04-24 05:18:12 | 6 | 2010-04-24 | 11 | 222 | 2010-04-24 03:54:49 |
| 6 | beer | beer_glass.png | 2010-04-24 05:18:12 | 7 | 2010-04-24 | 1 | 2 | 2010-04-24 03:58:45 |
+--------+------------+----------------+---------------------+--------+------------+--------+------+---------------------+
4 rows in set (0.00 sec)
第一个语句是否也可以使用“using”速记?似乎在使用时,必须指定“内部联接”一词。。。但是第一个语句实际上是一个内部连接
更新:如果无法完成,是否有原因?第一句话实际上已经很清楚该做什么了。。。有禁止的原因吗?不能。您必须在要联接的表之间使用
JOIN
关键字,才能使USING
起作用
以下是MySQL中的相关语法:
另外,您使用的第一个语法想要实现什么还不太清楚。它可以是外部连接或内部连接。你可以争辩说,当缺席时,口译员应该把它看作是内在的结合,但这会让人困惑。此外,它将是一种新的非标准语法,这肯定是一个no-no,imho。使用条件只是为了防止您像这样键入它
SELECT * FROM GIFTS INNER JOIN SENTGIFTS ON GIFTS.giftID = SENTGIFTS.giftID
因此,它可以防止您必须在条件下键入。您仍然必须指定它是内部联接
对于您的编辑,它不起作用的原因是您没有指定要执行的加入类型。你在做内接缝吗?左会合?外接?服务器的SQL解释器无法假定您使用的是哪种解释器。请参阅原始问题中的更新,了解为什么第一条语句明确说明了它的含义,但为什么不接受它作为语法。谢谢
SELECT * FROM GIFTS INNER JOIN SENTGIFTS ON GIFTS.giftID = SENTGIFTS.giftID