Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can-MySQL/SQL';s的缩写为;使用;使用时不要说;内部联接“;?_Sql_Mysql_Join_Inner Join_Using - Fatal编程技术网

Can-MySQL/SQL';s的缩写为;使用;使用时不要说;内部联接“;?

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

以下两条语句将使用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 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