電子工業出版社 JEUISHING HOUSE DF ELECTRONCS INDSTR 【例6.34】在样例数据库pubs中,查询出版过图书的出版社 USE pubs SELECT *k FROM publishers id IN(SELECT pub id FROM titles) 运行结果: pub_id pub_name state country 1389AlgodataInfosystemsBerkeley 0877 Binnet Hardley Washington DC USA 36N Boston (所影响的行数为3行) 此例中,首先, select pub id from titles子查询从 titles表中返回了 1389,087,0736三个 pub id,然后外部查询 SELECT* FROM publishers Where pub id IN (1389,0877,0736)语句查询出最后结果。 【例6.35】在样例数据库pubs中,查询居住在出版社 Algodata Infosystems所在城市的 作者。 SELECt au Iname, au_ fname, city FROM authors Where city=(select city FROM publishers WheRe pub name ='Algodata Infosystems) 运行结果: au lname u fname cIty Berkeley Abraha Berkeley (所影响的行数为2行) 此例中,首先, select city FROM publishers WHERE pub name=' algodata Infosystems’子查询从 publishers表中返回了 Algodata Infosys tems出版社的所在城市 Berkeley,然后外部查询 SeLECT au_ Iname, au fname, city from authors WherE city (' Berkeley’)语句查询出最后结果。此例中,使用“=”运算符,当然还可以使用其它运算 符引入子查询。 【例636】在样例数据库pubs中,查询作者收到的预付款大于 New moon books出版 社支付的最低预付款金额的书名及预付款 USE pubs select title, advance from titles【例 6.34】在样例数据库 pubs 中,查询出版过图书的出版社 USE pubs SELECT * FROM publishers WHERE pub_id IN (SELECT pub_id FROM titles) ORDER BY pub_name 运行结果: pub_id pub_name city state country ------ -------------------------------------------------------- 1389 Algodata Infosystems Berkeley CA USA 0877 Binnet & Hardley Washington DC USA 0736 New Moon Books Boston MA USA (所影响的行数为 3 行) 此例中, 首先, SELECT pub_id FROM titles 子 查 询从 titles 表 中返 回 了 1389,0877,0736 三个 pub_id,然后外部查询 SELECT * FROM publishers WHERE pub_id IN (1389,0877,0736)语句查询出最后结果。 【例 6.35】在样例数据库 pubs 中,查询居住在出版社 Algodata Infosystems 所在城市的 作者。 USE pubs SELECT au_lname, au_fname, city FROM authors WHERE city = (SELECT city FROM publishers WHERE pub_name ='Algodata Infosystems') 运行结果: au_lname au_fname city ---------------------------------------- ----- Carson Cheryl Berkeley Bennet Abraham Berkeley (所影响的行数为 2 行) 此例中, 首先, SELECT city FROM publishers WHERE pub_name = 'Algodata Infosystems'子查询从 publishers 表中返回了 Algodata Infosystems 出版社的所在城市 Berkeley,然后外部查询 SELECT au_lname, au_fname,city FROM authors WHERE city = ('Berkeley')语句查询出最后结果。此例中,使用“=”运算符,当然还可以使用其它运算 符引入子查询。 【例 6.36】在样例数据库 pubs 中,查询作者收到的预付款大于 New Moon Books 出版 社支付的最低预付款金额的书名及预付款。 USE pubs SELECT title, advance FROM titles