17,382
社区成员




create table test_a(sno number primary key,sname varchar2(20),sex varchar2(10),birthday date,class number);
insert into test_a values(110,'游龙','男',date'2009-6-25',95031);
insert into test_a values(108,'曾华','男',date'1977-9-1',95033);
insert into test_a values(105,'匡明','男',date'1975-10-2',95031);
insert into test_a values(107,'王丽','女',date'1976-1-23',95033);
insert into test_a values(101,'李军','男',date'1976-2-20',95033);
insert into test_a values(109,'王芳','女',date'1975-2-10',95031);
insert into test_a values(103,'陆军','男',date'1974-6-3',95031);
create table test_b(sno number,c_no varchar(20),degree real,constraint pk_test_b primary key(sno,c_no));
insert into test_b values(103,'3-245',86);
insert into test_b values(105,'3-245',75.0);
insert into test_b values(109,'3-245',68);
insert into test_b values(103,'3-105',92);
insert into test_b values(105,'3-105',88);
insert into test_b values(109,'3-105',76);
insert into test_b values(101,'3-105',64);
insert into test_b values(107,'3-105',91);
insert into test_b values(108,'3-105',78);
insert into test_b values(101,'6-166',85);
insert into test_b values(107,'6-166',79);
insert into test_b values(108,'6-166',81);
select sno,a.sname,a.sex,a.birthday,a.class,b.degree "max(degree)" from test_a a right join test_b b using(sno)
where b.degree in (select max(b.degree) from test_b b left join test_a a using(sno) group by a.class);
SNO SNAME SEX BIRTHDAY CLASS max(degree)
103 陆军 男 1974-6-3 95031 92
107 王丽 女 1976-1-23 95033 91
select sno,a.sname,a.sex,a.birthday,a.class,b.degree "min(degree)" from test_a a right join test_b b using(sno)
where b.degree in (select min(b.degree) from test_b b left join test_a a using(sno) group by a.class) ;
SNO SNAME SEX BIRTHDAY CLASS min(degree)
109 王芳 女 1975-2-10 95031 68
101 李军 男 1976-2-20 95033 64
select sno,a.sname,a.sex,a.birthday,a.class,b.degree "avg(degree)" from test_a a right join test_b b using(sno)
where b.degree in (select avg(b.degree) from test_b b left join test_a a using(sno) group by a.class) ;