此外怎么办LEFT JOIN,RIGHT JOIN和FULL JOIN适合吗?
什么之间的区别INNER JOIN,LEFT JOIN,RIGHT JOIN并FULL JOIN
在MySQL的?
我想INNER JOIN在SQL Server 2008中删除使用.
但我得到这个错误:
消息156,级别15,状态1,行15
关键字"INNER"附近的语法不正确.
我的代码:
DELETE FROM WorkRecord2
INNER JOIN Employee ON EmployeeRun=EmployeeNo
WHERE Company = '1' AND Date = '2013-05-06'
Run Code Online (Sandbox Code Playgroud) 这两个连接都会给我相同的结果:
SELECT * FROM table JOIN otherTable ON table.ID = otherTable.FK
Run Code Online (Sandbox Code Playgroud)
VS
SELECT * FROM table INNER JOIN otherTable ON table.ID = otherTable.FK
Run Code Online (Sandbox Code Playgroud)
表现或其他方面的陈述是否有任何区别?
不同的SQL实现之间是否有所不同?
为简单起见,假设所有相关字段都是NOT NULL.
你可以做:
SELECT
table1.this, table2.that, table2.somethingelse
FROM
table1, table2
WHERE
table1.foreignkey = table2.primarykey
AND (some other conditions)
Run Code Online (Sandbox Code Playgroud)
要不然:
SELECT
table1.this, table2.that, table2.somethingelse
FROM
table1 INNER JOIN table2
ON table1.foreignkey = table2.primarykey
WHERE
(some other conditions)
Run Code Online (Sandbox Code Playgroud)
这两个是以同样的方式工作MySQL吗?
我有以下查询不起作用.我究竟做错了什么?这甚至可能吗?
UPDATE ProductReviews AS R
INNER JOIN products AS P
ON R.pid = P.id
SET R.status = '0'
WHERE R.id = '17190'
AND P.shopkeeper = '89137'
Run Code Online (Sandbox Code Playgroud) 我想在一个视图中加入3个表; 这是情况:
我有一张表格,其中包含申请在大学校园内生活的学生的信息.我有另一张桌子,列出了每个学生的霍尔偏好(其中3个).但是这些首选项中的每一个仅仅是一个ID号,并且ID号在第三个表中具有相应的Hall Name(没有设计该数据库......).
差不多,我INNER JOIN在桌子上有他们的偏好和他们的信息,结果是......
John Doe | 923423 | Incoming Student | 005
Run Code Online (Sandbox Code Playgroud)
哪个005会是HallID.所以现在我想将它HallID与第三个表匹配,其中该表包含一个HallID和HallName.
所以,我希望我的结果像......
John Doe | 923423 | Incoming Student | Foley Hall <---(INSTEAD OF 005)
Run Code Online (Sandbox Code Playgroud)
这是我目前拥有的:
SELECT
s.StudentID, s.FName,
s.LName, s.Gender, s.BirthDate, s.Email,
r.HallPref1, r.HallPref2, r.HallPref3
FROM
dbo.StudentSignUp AS s
INNER JOIN RoomSignUp.dbo.Incoming_Applications_Current AS r
ON s.StudentID = r.StudentID
INNER JOIN HallData.dbo.Halls AS h
ON r.HallPref1 = h.HallID
Run Code Online (Sandbox Code Playgroud) 我有一个在MySQL中工作正常的查询,但是当我在Oracle上运行时,我收到以下错误:
SQL错误:ORA-00933:SQL命令未正确结束
00933. 00000 - "SQL命令未正确结束"
查询是:
UPDATE table1
INNER JOIN table2 ON table1.value = table2.DESC
SET table1.value = table2.CODE
WHERE table1.UPDATETYPE='blah';
Run Code Online (Sandbox Code Playgroud) 有2个表,spawnlist而且npc,我需要从中删除数据spawnlsit.
npc_templateid = n.idTemplate是唯一"连接"表格的东西.我试过这个脚本,但它不起作用.
我试过这个:
DELETE s FROM spawnlist s
INNER JOIN npc n ON s.npc_templateid = n.idTemplate
WHERE (n.type = "monster");
Run Code Online (Sandbox Code Playgroud) 是否可以在没有ON语句的情况下编写连接查询?以及这些联接如何LEFT JOIN, RIGHT JOIN起作用.
inner-join ×10
sql ×8
join ×6
mysql ×4
sql-server ×4
outer-join ×2
sql-delete ×2
database ×1
left-join ×1
ora-00933 ×1
oracle ×1
right-join ×1