相关疑难解决方法(0)

MySQL ON vs USING?

在MySQL中JOIN,ON和之间有什么区别USING()?据我所知,USING()只是更方便的语法,而ON当列名不相同时允许更多的灵活性.然而,这种差异是如此微小,你会认为他们只是消失了USING().

除此之外还有更多的东西吗?如果是,我应该在特定情况下使用哪个?

mysql join using

243
推荐指数
4
解决办法
16万
查看次数

MySQL将DELETE FROM与子查询作为条件

我正在尝试这样的查询:

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)

mysql sql subquery in-subquery sql-delete

77
推荐指数
6
解决办法
12万
查看次数

使用LEFT JOIN删除

我想从表中删除取决于另一个引用第一个表的表上存在的数据,但是,我有代码可以工作并显示当我将其作为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

sql postgresql join left-join

22
推荐指数
2
解决办法
6万
查看次数

如何使用JPA和Hibernate删除带有JOIN的实体

我有以下实体:

在此输入图像描述

我想使用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)

java mysql sql hibernate jpa

10
推荐指数
1
解决办法
7941
查看次数

INNER JOIN作为SELECT工作,但不作为DELETE工作

为什么会出现语法错误

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 sql

1
推荐指数
1
解决办法
670
查看次数

标签 统计

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