1

以下是我的 CUSTOMERS 表:

create table CUSTOMERS
    (CustID      char(6)       unique Not null,
     Name        varchar(45),
     Address     varchar(40),
     City        varchar(30),
     State       varchar(2),
     Zip         varchar(9),
     AreaCode    char(3),
     Phone       varchar (9),
     RepID       char(4)       not null,
     CreditLimit decimal(9,2),
     Primary key(CustID),
         Foreign key(RepID) References EMPLOYEES(EmpID));




insert into CUSTOMERS values (100,'Jocksports','345 Viewridge','Belmont','CA','96711',415,'598-6609',7844,5000);
insert into CUSTOMERS values (101,'TKB Sport Shop','490 Boli Rd.','Redwood City','CA','94061',415,'368-1223',7521,10000);
insert into CUSTOMERS values (102,'Vollyrite','9722 Hamilton','Burlingame','CA','95133',415,'644-3341',7654,7000);
insert into CUSTOMERS values (103,'Just Tennis','Hillview Mall','Burlingame','CA','97544',415,'677-9312',7521,3000);
insert into CUSTOMERS values (104,'Every Mountain','574 Surry Rd.','Cupertino','CA','93301',408,'996-2323',7499,10000);
insert into CUSTOMERS values (105,'K + T Sports','3476 El Paseo','Santa Clara','CA','91003',408,'376-9966',7844,5000);
insert into CUSTOMERS values (106,'Shape Up','908 Sequoia','Palo Alto','CA','94301',415,'364-9777',7521,6000);
insert into CUSTOMERS values (107,'Womens Sports','Valco Village','Sunnyvale','CA','93301',408,'967-4398',7499,10000);
insert into CUSTOMERS values (108,'North Woods Fitness Supply Center','98 Lone Pine Way','Hibbing','MN','55649',612,'566-9123',7844,8000);

以下是我需要修改的查询:

select name, creditlimit
from CUSTOMERS
where name in
(select name
from CUSTOMERS
where City = 'sunnyvale');

我在任何地方都找不到示例来回答以下提示:

编写嵌套查询以显示信用额度低于 Sunnyvale 客户的客户名称和信用额度。首先列出最低信用额度。

4

3 回答 3

3

试试这个

SELECT Name,CREDITLIMIT FROM  CUSTOMERS 
WHERE CREDITLIMIT < (SELECT CREDITLIMIT FROM CUSTOMERS 
                     WHERE CITY = 'Sunnyvale')
ORDER BY CREDITLIMIT 

如果 Sunnyvale 有多个客户,您可以使用 MIN 或 MAX

SELECT Name,CREDITLIMIT FROM  CUSTOMERS 
WHERE CREDITLIMIT < (SELECT MAX(CREDITLIMIT) FROM CUSTOMERS 
                     WHERE CITY = 'Sunnyvale')
ORDER BY CREDITLIMIT 
于 2013-04-17T06:31:32.277 回答
2

此查询将导致 Order what you want。

   SELECT CreditLimit, Name
    FROM CUSTOMERS
    WHERE CreditLimit < ( 
    SELECT CreditLImit
    FROM CUSTOMERS
    WHERE City =  'sunnyvale' ) 
    ORDER BY CreditLimit
于 2013-04-17T06:38:08.060 回答
1
select name, creditlimit
from CUSTOMERS
where creditlimit <
(select CreditLimit
from CUSTOMERS
where City = 'sunnyvale') order by CreditLimit

试试上面的查询。

这是演示:

SQLFIDDLE 演示

于 2013-04-17T06:34:21.600 回答