在MySQL中JOIN,ON和之间有什么区别USING()?据我所知,USING()只是更方便的语法,而ON当列名不相同时允许更多的灵活性.然而,这种差异是如此微小,你会认为他们只是消失了USING().
除此之外还有更多的东西吗?如果是,我应该在特定情况下使用哪个?
我正在尝试这样的查询:
DELETE FROM term_hierarchy AS th
WHERE th.parent = 1015 AND th.tid IN (
SELECT DISTINCT(th1.tid)
FROM term_hierarchy AS th1
INNER JOIN term_hierarchy AS th2 ON (th1.tid = th2.tid AND th2.parent != 1015)
WHERE th1.parent = 1015
);
Run Code Online (Sandbox Code Playgroud)
你可以告诉我,如果同一个tid有其他父母,我想删除1015的父关系.但是,这会产生语法错误:
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 'AS th
WHERE th.parent = 1015 AND th.tid IN (
SELECT DISTINCT(th1.tid)
FROM ter' at line …Run Code Online (Sandbox Code Playgroud) 我想从表中删除取决于另一个引用第一个表的表上存在的数据,但是,我有代码可以工作并显示当我将其作为SELECT stetement运行时要删除的值,但是当我将其更改为删除它给了我错误,我不明白为什么他们在那里.
DELETE leadCustomer.* FROM coursework.leadCustomer LEFT JOIN coursework.flightBooking
ON leadCustomer.customerID = flightBooking.customerID
WHERE leadCustomer.customerID NOT IN (
SELECT customerID FROM (SELECT customerID, status FROM coursework.flightBooking) AS
StatusCount where status IN ('R','H') GROUP BY customerID
)
AND leadCustomer.customerID = 8;
Run Code Online (Sandbox Code Playgroud)
错误:
ERROR: syntax error at or near "leadCustomer"
LINE 1: DELETE leadCustomer.* FROM coursework.leadCustomer LEFT JOIN...
^
********** Error **********
ERROR: syntax error at or near "leadCustomer"
SQL state: 42601
Character: 8
Run Code Online (Sandbox Code Playgroud)
我正在使用postgres
我有以下实体:
我想使用JPA删除用户的id和用户名的WordSet.
这是实体声明:
用户
@Entity
@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
public class User extends AbstractModelClass {
private String name;
private String username;
private String password;
private String email;
@ManyToMany(fetch = FetchType.EAGER)
private Set<Role> roles;
}
Run Code Online (Sandbox Code Playgroud)
UserDictionary
@Entity
@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
public class UserDictionary extends AbstractModelClass {
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy = "userDictionary")
private Set<WordSet> wordSets;
@OneToOne(cascade = CascadeType.ALL)
private User user;
@PrePersist
private void addDictionaryToWordSets() {
wordSets.forEach(wordSet …Run Code Online (Sandbox Code Playgroud) 为什么会出现语法错误
DELETE FROM `print_mailing_request` pmr
INNER JOIN `person` p
ON p.id = pmr.person AND p.email LIKE '%@TEST.COM'
WHERE
pmr.sent_to_fulfiller != 'y'
Run Code Online (Sandbox Code Playgroud)
什么时候正常工作没有错误?
SELECT * FROM `print_mailing_request` pmr
INNER JOIN `person` p
ON p.id = pmr.person AND p.email LIKE '%@TEST.COM'
WHERE
pmr.sent_to_fulfiller != 'y'
Run Code Online (Sandbox Code Playgroud) mysql ×4
sql ×4
join ×2
hibernate ×1
in-subquery ×1
java ×1
jpa ×1
left-join ×1
postgresql ×1
sql-delete ×1
subquery ×1
using ×1