Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.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
Mysql 使用我们暗示要使用的索引 使用显式的JOIN作为开始,而不是WHERE:)中连接表的旧语法内部联接更具可读性。选择。。。从author.AuthorID=book.AuthorIDOP上的author-INNER-JOIN-book中,您过去的一些问题似乎_Mysql_Sql - Fatal编程技术网

Mysql 使用我们暗示要使用的索引 使用显式的JOIN作为开始,而不是WHERE:)中连接表的旧语法内部联接更具可读性。选择。。。从author.AuthorID=book.AuthorIDOP上的author-INNER-JOIN-book中,您过去的一些问题似乎

Mysql 使用我们暗示要使用的索引 使用显式的JOIN作为开始,而不是WHERE:)中连接表的旧语法内部联接更具可读性。选择。。。从author.AuthorID=book.AuthorIDOP上的author-INNER-JOIN-book中,您过去的一些问题似乎,mysql,sql,Mysql,Sql,使用我们暗示要使用的索引 使用显式的JOIN作为开始,而不是WHERE:)中连接表的旧语法内部联接更具可读性。选择。。。从author.AuthorID=book.AuthorIDOP上的author-INNER-JOIN-book中,您过去的一些问题似乎已经得到了合理的回答。我建议您考虑回答这个问题和过去问题的答案之一,如果答案(S)已经帮助了您。使用不存在而不是不在< /代码>中,因为不在< /代码>结果中,当NULL返回时,不是很多人所期望的。1。请格式化文本以反映其解析。2.使用IN-p

使用我们暗示要使用的索引
使用显式的
JOIN
作为开始,而不是
WHERE
:)中连接表的旧语法内部联接更具可读性。选择。。。从author.AuthorID=book.AuthorIDOP上的author-INNER-JOIN-book中,您过去的一些问题似乎已经得到了合理的回答。我建议您考虑回答这个问题和过去问题的答案之一,如果答案(S)已经帮助了您。使用<代码>不存在而不是<代码>不在< /代码>中,因为<代码>不在< /代码>结果中,当NULL返回时,不是很多人所期望的。1。请格式化文本以反映其解析。2.使用IN-plus子选择提示您可能会从学习在这些情况下如何简化联接中获益。PS事实证明,在选择中使用AS而不是在FROM中使用AS更安全。在开始时使用显式的
JOIN
,而不是在
WHERE
:)中使用连接表的旧语法内部联接更具可读性。选择。。。从author.AuthorID=book.AuthorIDOP上的author-INNER-JOIN-book中,您过去的一些问题似乎已经得到了合理的回答。我建议您考虑回答这个问题和过去问题的答案之一,如果答案(S)已经帮助了您。使用<代码>不存在而不是<代码>不在< /代码>中,因为<代码>不在< /代码>结果中,当NULL返回时,不是很多人所期望的。1。请格式化文本以反映其解析。2.使用IN-plus子选择提示您可能会从学习在这些情况下如何简化联接中获益。PS事实证明,在拼写方面,在SELECT中使用它比在FROM中使用它更安全。
SELECT w.BookID
FROM author as a, book as b, writes as w, publisher as p
WHERE a.LivingCityID != p.PublisherCityId AND w.AuthorID = a.ID AND w.BookID = b.ID AND p.ID = b.PublisherID
ORDER BY w.BookID ASC
SELECT DISTINCT PublisherID
FROM book
WHERE PublisherID NOT IN (SELECT PublisherID
 FROM book
 WHERE YearPublished >=1600 AND YearPublished <= 1900)
SELECT DISTINCT PublisherID
FROM book
WHERE PublisherID NOT IN (SELECT PublisherID
 FROM book
 WHERE YearPublished >=1600 AND YearPublished <= 1900)
      AND PublisherID IN (SELECT PublisherID
FROM book
WHERE YearPublished < 1600)
      AND PublisherID IN (SELECT PublisherID
FROM book
WHERE YearPublished > 1900)
SELECT w.BookID
FROM book b
LEFT JOIN writes w on w.bookid = book.id
LEFT JOIN author a on a.id = w.authorid
LEFT JOIN publisher p on p.id = b.publisherid
WHERE NOT a.LivingCityID = p.PublisherCityId
ORDER BY w.BookID ASC
SELECT DISTINCT publisherid
FROM book b
INNER JOIN publisher p on p.id = b.publisherid
WHERE    NOT    b.yearpublished BETWEEN 1600 and 1900
SELECT DISTINCT publisherid
FROM publisher p
WHERE EXISTS (
    SELECT 1 
    FROM book 
    WHERE    NOT    yearpublished BETWEEN 1600 and 1900
        AND publisherid = p.id
)
SELECT DISTINCT publisherid
FROM publisher p
WHERE EXISTS (
    SELECT 1 
    FROM book 
    WHERE    NOT    yearpublished BETWEEN 1600 and 1900
        AND publisherid = p.id
) 
AND EXISTS (
    SELECT 1 
    FROM book 
    WHERE yearpublished < 1600
        AND publisherid = p.id
)
AND EXISTS (
    SELECT 1 
    FROM book 
    WHERE yearpublished > 1900
        AND publisherid = p.id
)
SELECT publisherid
FROM 
(
    SELECT DISTINCT 
        CASE WHEN yearpublished < 1600 THEN 1600 ELSE 1900 END AS yr,
        publisherid
    FROM book b
    INNER JOIN publisher p on p.id = b.publisherid
    WHERE    NOT    b.yearpublished BETWEEN 1600 and 1900
) t
GROUP BY yr
HAVING COUNT(*) = 2
1600  publisherid#1
1600  publisherid#1
1900  publisherid#1
1600  publisherid#2
1600  publisherid#3
1900  publisherid#3
...
1600  publisherid#1    |
1900  publisherid#1    | --> this and above record will become a group
1600  publisherid#2
1600  publisherid#3    |
1900  publisherid#3    | --> this and above record will become a group
...