Mysql学习mysql子查询使用EXISTS命令的例子

前端之家收集整理的这篇文章主要介绍了Mysql学习mysql子查询使用EXISTS命令的例子前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

MysqL学习MysqL查询使用EXISTS命令的例子》要点:
本文介绍了MysqL学习MysqL查询使用EXISTS命令的例子,希望对您有用。如果有疑问,可以联系我们。

导读:本节内容MysqL查询使用EXISTSsql语句: /*MysqL> SELECT ArticleID,ArticleTitle -> FROM Articles AS b -> WHERE EXISTS ...

本节内容
MysqL查询使用EXISTSMysqL应用

sql语句:
 MysqL应用

/*
MysqL> SELECT ArticleID,ArticleTitle
    -> FROM Articles AS b
    -> WHERE EXISTS
    ->    (
    ->       SELECT ArticleID
    ->       FROM AuthorArticle AS ab
    ->       WHERE b.ArticleID=ab.ArticleID
    ->    )
    -> ORDER BY ArticleTitle;
+-----------+-------------------+
| ArticleID | ArticleTitle      |
+-----------+-------------------+
|     19354 | AI                |
|     15729 | Buy a paper       |
|     16284 | Conferences       |
|     12786 | How write a paper |
|     19264 | Information       |
|     17695 | Journal           |
|     14356 | Sell a paper      |
+-----------+-------------------+
7 rows in set (0.01 sec)
*/      
Drop table Articles;
Drop table Authors;
Drop table AuthorArticle;MysqL应用

CREATE TABLE Articles (
   ArticleID SMALLINT NOT NULL PRIMARY KEY,
   ArticleTitle VARCHAR(60) NOT NULL,
   Copyright YEAR NOT NULL
)
ENGINE=INNODB;MysqL应用

INSERT INTO Articles VALUES (12786,'How write a paper',1934),
                            (13331,'Publish a paper',1919),
                            (14356,'Sell a paper',1966),
                            (15729,'Buy a paper',1932),
                            (16284,'Conferences',1996),
                            (17695,'Journal',1980),
                            (19264,'Information',1992),
                            (19354,'AI',1993);MysqL应用

CREATE TABLE Authors (
   AuthID SMALLINT NOT NULL PRIMARY KEY,
   AuthorFirstName VARCHAR(20),
   AuthorMiddleName VARCHAR(20),
   AuthorLastName VARCHAR(20)
)
ENGINE=INNODB;MysqL应用

INSERT INTO Authors VALUES (1006,'Henry','S.','Thompson'),
                           (1007,'Jason','Carol','Oak'),
                           (1008,'James',NULL,'Elk'),
                           (1009,'Tom','M','Ride'),
                           (1010,'Jack','K','Ken'),
                           (1011,'Mary','G.','Lee'),
                           (1012,'Annie','Peng'),
                           (1013,'Alan','Wang'),
                           (1014,'Nelson','Yin');MysqL应用

CREATE TABLE AuthorArticle (
   AuthID SMALLINT NOT NULL,
   ArticleID SMALLINT NOT NULL,
   PRIMARY KEY (AuthID,ArticleID),
   FOREIGN KEY (AuthID) REFERENCES Authors (AuthID),
   FOREIGN KEY (ArticleID) REFERENCES Articles (ArticleID)
)
ENGINE=INNODB;MysqL应用

INSERT INTO AuthorArticle VALUES (1006,14356),
                              (1008,15729),
                              (1009,12786),
                              (1010,17695),
                              (1011,
                              (1012,19264),19354),
                              (1014,16284);
 MysqL应用

查询实例:
 MysqL应用

SELECT ArticleID,ArticleTitle
FROM Articles AS b
WHERE EXISTS
   (
      SELECT ArticleID
      FROM AuthorArticle AS ab
      WHERE b.ArticleID=ab.ArticleID
   )
ORDER BY ArticleTitle;

欢迎参与《MysqL学习MysqL查询使用EXISTS命令的例子》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。

猜你在找的MySQL相关文章