更多的子查询 我们可以使用在select查询语句中再包括一个select子查询语句。举个例子吧,首先我们列除所有购买贵重物品的顾客,贵重物品的标准是比所有卖出的物品价钱的平均值多100元的物品。具体语句如下: select ownerid from antiques where price > (select avg(price) + 100 from antiques); 上面子查询语句是计算物品的平均价格再加100元,并搜索所有在antiques表中price大于这个数值的ownerid。这里你可以使用distinct ownerid来排除复制的现象。 下面的语句列出了所有在antiqueowners表中的有买过物品的人的lastname: select ownerlastname from antiqueowners where ownerid =
from antiques); 这个子查询返回了一系列的顾客,当且仅当物品拥有者的id出现在子查询的列表中,古董的拥有者的lastname才会显示出来。 为了更新这个例子,我们假设有一个买过bookcase的顾客,他的firstname在数据库中出错了,应该为john: update antiqueowners set ownerfirstname = 'john' where ownerid =
from antiques where item = 'bookcase'); 上面的语句中的子查询首先搜索买过bookcase的顾客的buyerid,然后在外层的查询中来更新他的firstname。 |
新闻热点
疑难解答