当前位置:首页 » 编程语言 » sql中cre
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql中cre

发布时间: 2022-08-19 20:41:20

① 执行hr_cre.sql创建7张测试表并添加测试数据。

1、创建测试表、插入数据:
create table test
(id int,
name varchar(10),
score int,
classname varchar(20));

insert into test values (1,'张三',100,'一班');
insert into test values (2,'李四',89,'一班');
insert into test values (3,'王五',97,'一班');
insert into test values (4,'赵六',87,'二班');
insert into test values (5,'孙七',94,'二班');
insert into test values (6,'杨八',76,'二班');
2、查询每个班级的总分,可用如下语句:

select classname,SUM(score) as 总分 from test group by classname;

3、结果截图:

② 关于sql 包中的 statement 接口

你只知道什么是接口,却不知道为什么要使用接口。

听说接口回调这个说法吗。你必须关心statement是怎么来的。

Statement statement=connection.creStatement();

问题就在这句话里面。 connection.creStatement();返回的到底是什么?

请你仔细想好再回答。

其实connection.creStatement();返回的是一个实现了statement接口的类。

当然你不知道到底是哪个类,你只要知道它实现了statement接口就行,然后用接口的引用去指向那个类就叫接口回调。 你想想,你要开灯只要按一下那个开关,相当于那个接口引用,至于那个开关具体是怎么实现开关灯功能的你不知道,你也不需要知道,对使用者来说,这就是接口的一大好处。因为具体返回哪个类由Connection类来决定,而且恰恰那个类也不用你写。

那么现在你应该知道 了,statement.execute();实现了没有。 也就是人家帮你实现了那个接口,你只管用,不用关具体怎么实现的,因为,那个方法需要什么参数,有什么功能在接口里已经写的很清楚了。

再给你一个接口回调的例子。迭代器的实现

HashSet set=new HashSet();
Iterator it=set.iterator();

由hashset来决定怎么去实现iterator接口,你只管定义接口引用,然后就去使用接口里有的方法就行。

③ 请教sql语句

先建一个自定义函数(SQL SERVER数据库
create function cre_funcation(@a int)--传入参数为A表的那个字段
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''

select @str=@str+','+a.b_name from tableB a
where a.a_id=@a

if len(@str)>0
begin
set @str=right(@str,len(@str)-1)
end
else
begin
set @str='无'
end

return @str
end

再写查询语句
select a.*,dbo.cre_funcation(a_id) from tablea
--注意,自己改一下表名或者字段名,这样就一定可以的。