--1、 、 、 , , , , yyyy-mm-dd。
2 select emp_no,emp_name,dept,isnull(convert(char(10),birthday,120),' ') birthday
3 from employee
4 order by dept
5
6 --2、 、 、
7 select emp_no,emp_name,dept,title
8 from employee
9 where emp_name<>' ' and dept in
10 (select dept from employee
11 where emp_name=' ')
12
13 --3、 ,
14 select dept,sum(salary)
15 from employee
16 group by dept
17
18 --4、 14 , 、 、
19 select a.prod_id,qty,unit_price,unit_price*qty totprice
20 from sale_item a,product b
21 where a.prod_id=b.prod_id and prod_name='14 '
22
23 --5、 ,
24 select prod_id,sum(qty) totqty,sum(qty*unit_price) totprice
25 from sale_item
26 group by prod_id
27
28 --6、 convert 1996
29 select cust_id,sum(tot_amt) totprice
30 from sales
31 where convert(char(4),order_date,120)='1996'
32 group by cust_id
33
34 --7、 、
35 select a.cust_id,cust_name,sum(tot_amt) totprice
36 from customer a,sales b
37 where a.cust_id=b.cust_id
38 group by a.cust_id,cust_name
39
40 --8、 1997 、
41 select a.cust_id,cust_name,sum(tot_amt) totprice
42 from customer a,sales b
43 where a.cust_id=b.cust_id and convert(char(4),order_date,120)='1997'
44 group by a.cust_id,cust_name
45
46 --9、
47 select order_no,cust_id,sale_id,tot_amt
48 from sales
49 where tot_amt=
50 (select max(tot_amt)
51 from sales)
52
53 --10、 3
54 select emp_name,order_date
55 from employee a,sales b
56 where emp_no=sale_id and a.emp_no in
57 (select sale_id
58 from sales
59 group by sale_id
60 having count(*)>=3)
61 order by emp_name
62
63 --11、
64 select cust_name
65 from customer a
66 where not exists
67 (select *
68 from sales b
69 where a.cust_id=b.cust_id)
70
71 --12、 、 、 、 , yyyy-mm-dd ,
72 select a.cust_id,cust_name,convert(char(10),order_date,120),tot_amt
73 from customer a left outer join sales b on a.cust_id=b.cust_id
74 order by a.cust_id,tot_amt desc
75
76 --13、 16M DRAM , 、 , 、 , 、
77 select emp_name , = case a.sex when 'm' then ' '
78 when 'f' then ' '
79 else ' '
80 end,
81 = isnull(convert(char(10),c.order_date,120),' '),
82 qty , qty*unit_price as
83 from employee a, sales b, sale_item c,product d
84 where d.prod_name='16M DRAM' and d.prod_id=c.prod_id and
85 a.emp_no=b.sale_id and b.order_no=c.order_no
86
87 --14、 , 、 、 、 、 、 、
88 select emp_no ,emp_name , = case a.sex when 'm' then ' '
89 when 'f' then ' '
90 else ' '
91 end,
92 prod_name , = isnull(convert(char(10),c.order_date,120),' '),
93 qty , qty*unit_price as
94 from employee a left outer join sales b on a.emp_no=b.sale_id , sale_item c,product d
95 where d.prod_id=c.prod_id and b.order_no=c.order_no
96
97 --15、
98 select cust_name,d.cust_sum
99 from customer a,
100 (select cust_id,cust_sum
101 from (select cust_id, sum(tot_amt) as cust_sum
102 from sales
103 group by cust_id ) b
104 where b.cust_sum =
105 ( select max(cust_sum)
106 from (select cust_id, sum(tot_amt) as cust_sum
107 from sales
108 group by cust_id ) c )
109 ) d
110 where a.cust_id=d.cust_id
111
112 --16、 1000 、
113 select emp_no,emp_name,d.sale_sum
114 from employee a,
115 (select sale_id,sale_sum
116 from (select sale_id, sum(tot_amt) as sale_sum
117 from sales
118 group by sale_id ) b
119 where b.sale_sum <1000
120 ) d
121 where a.emp_no=d.sale_id
122
123 --17、 3 、 、 、 、
124 select a.cust_id,cust_name,b.prod_id,prod_name,d.qty,d.qty*d.unit_price
125 from customer a, product b, sales c, sale_item d
126 where a.cust_id=c.cust_id and d.prod_id=b.prod_id and
127 c.order_no=d.order_no and a.cust_id in (
128 select cust_id
129 from (select cust_id,count(distinct prod_id) prodid
130 from (select cust_id,prod_id
131 from sales e,sale_item f
132 where e.order_no=f.order_no) g
133 group by cust_id
134 having count(distinct prod_id)>=3) h )
135
136 --18、 、 、 、
137 select a.cust_id,cust_name,d.prod_id,prod_name,qty,qty*unit_price
138 from customer a, product b, sales c, sale_item d
139 where a.cust_id=c.cust_id and d.prod_id=b.prod_id and
140 c.order_no=d.order_no and not exists
141 (select f.*
142 from customer x ,sales e, sale_item f
143 where cust_name=' ' and x.cust_id=e.cust_id and
144 e.order_no=f.order_no and not exists
145 ( select g.*
146 from sale_item g, sales h
147 where g.prod_id = f.prod_id and g.order_no=h.order_no and
148 h.cust_id=a.cust_id)
149 )
150
151 19、 , ,
152 select emp_no,emp_name,dept,salary
153 from employee
154 where emp_name like ' %'
155
156 20、 2000
157 select cust_id
158 from sales
159 where tot_amt>2000
160
161 21、 4000-6000
162 select count(*)as
163 from employee
164 where salary between 4000 and 6000
165
166 22、 , " " " "
167 select avg(salary) avg_sal,dept
168 from employee
169 where addr like ' %'
170 group by dept
171
172 23、 " " " "
173 update employee
174 set addr like ' '
175 where addr like ' '
176
177 24、 。
178 select emp_no,emp_name,dept
179 from employee
180 where sex='F'and dept in (' ',' ')
181
182 25、 , 。
183 select prod_id ,sum(qty*unit_price)
184 from sale_item
185 group by prod_id
186 order by sum(qty*unit_price) desc
187
188 26、 'C0001' 'C0004' 、 、 。
189 select CUST_ID,cust_name,addr
190 from customer
191 where cust_id between 'C0001' AND 'C0004'
192
193 27、 。
194 select count(distinct prod_id) as ' '
195 from sale_item
196
197 28、 3%。
198 update employee
199 set salary=salary*1.03
200 where dept=' '
201
202 29、 employee 。
203 select *
204 from employee
205 where salary=
206 (select min(salary )
207 from employee )
208
209 30、 join " " " "," "," "," "
210 select a.cust_id,b.tot_amt,b.order_date,a.tel_no
211 from customer a join sales b
212 on a.cust_id=b.cust_id and cust_name like ' '
213
214 31、 sales "E0013 1996/10/15 " 。
215 select *
216 from sales
217 where tot_amt>all
218 (select tot_amt
219 from sales
220 where sale_id='E0013'and order_date='1996/10/15')
221 order by tot_amt
222
223 32、 'P0001'
224 select avg(unit_price)
225 from sale_item
226 where prod_id='P0001'
227
228 33、
229 select sale_id,tot_amt
230 from sales
231 where sale_id in
232 (select sale_id from employee
233 where sex='F')
234
235 34、
236 select a.emp_no,a.emp_name,a.date_hired
237 from employee a
238 join employee b
239 on (a.emp_no!=b.emp_no and a.date_hired=b.date_hired)
240 order by a.date_hired
241
242 35、 232000 。
243 select emp_no,emp_name
244 from employee
245 where emp_no in
246 (select sale_id
247 from sales
248 group by sale_id
249 having sum(tot_amt)<232000)
250
251 36、 employee " "
252 select avg(salary)
253 from employee
254 where sex like 'f'
255 union
256 select avg(salary)
257 from employee
258 where sex like 'f' and addr like ' %'
259
260 37、 employee 。
261 Select *
262 from employee
263 where salary>( select avg(salary)
264 from employee)
265
266 38、 10000 , 。
267 Select sale_id ,sum(tot_amt)
268 from sales
269 group by sale_id
270 having sum(tot_amt)>10000
271 order by sum(tot_amt) desc
272
273 39、 2000 。
274 Select order_no,tot_amt
275 From sales ,employee
276 Where sale_id=emp_no and sex='M' and tot_amt>2000
277
278 40、 sales 。
279 Select order_no,tot_amt from sales
280 where tot_amt=(select max(tot_amt) from sales)
281
282 41、 4000 。
283 Select cust_name,addr from customer a,sales b
284 where a.cust_id=b.cust_id and tot_amt>4000
285
286 42、 , , 。
287 Select cust_id,sum(tot_amt) from sales
288 Group by cust_id
289 Order by sum(tot_amt) desc
290
291 43、 , , 。
292 Select cust_id,prod_id,sum(qty),sum(qty*unit_price)/sum(qty)
293 From sales a, sale_item b
294 Where a.order_no=b.order_no
295 Group by cust_id,prod_id
296 Order by cust_id,prod_id
297
298 44、 。
299 Select order_no
300 from sale_item
301 Group by order_no
302 Having count(*)>3
303
304 45、 3 。
305 Select distinct order_no
306 From sale_item a
307 Where order_no<>'3'and not exists (
308 Select * from sale_item b where order_no ='3' and not exists
309 (select * from sale_item c where c.order_no=a.order_no and c.prod_id=b.prod_id))
310
311 46、 sales "E0013 1996/11/10 " , 。
312 Select sale_id,tot_amt from sales
313 where tot_amt>all(select tot_amt
314 from sales
315 where sale_id='E0013' and order_date='1996-11-10')
316
317 47、 。
318 Select *
319 From employee a
320 Where not exists
321 (select * from sales b where a.emp_no=b.sale_id)
322
323 48、 , 、 。
324 Select cust_name,tel_no,order_no,tot_amt
325 From customer a ,sales b
326 Where a.cust_id=b.cust_id and addr=' '
327
328 49、 , 、 。
329 Select sale_id,month(order_date), sum(tot_amt)
330 from sales
331 group by sale_id,month(order_date)
332 order by sale_id,month(order_date) desc
333
334 50、 , 、 , , 。
335 Select a.prod_id,prod_name,sum(qty),sum(qty*unit_price)
336 From sale_item a,product b
337 Where a.prod_id=b.prod_id
338 Group by a.prod_id,prod_name
339 Order by a.prod_id
340 51、 'C0002' , 。
341 Select cust_id, cust_name,addr
342 From customer
343 Where cust_id in (select cust_id from sales
344 Group by cust_id
345 Having sum(tot_amt)>
346 (Select sum(tot_amt) from sales where cust_id='C0002'))
347
348 52、 、 。
349 select emp_no,emp_name,sum(tot_amt)
350 from employee a,sales b
351 where a.emp_no=b.sale_id
352 group by emp_no,emp_name
353 having sum(tot_amt)=
354 (select max(totamt)
355 from (select sale_id,sum(tot_amt) totamt
356 from sales
357 group by sale_id) c)
358
359 53、 , , , , , 。
360 select a.cust_id, cust_name,c.prod_id,prod_name,qty, unit_price
361 from customer a,sales b, sale_item c ,product d
362 where a.cust_id=b.cust_id and b.order_no=c.order_no and c.prod_id=d.prod_id
363
364 54、 , 。
365 select dept,avg(salary)
366 from employee
367 group by dept
368 order by avg(salary)