精华内容
下载资源
问答
  • 一个好用的数据库类

    2008-05-14 08:36:06
    <br>三、实例练习 <br>下面就通过上面的例子一起来看一下这个类到底怎么样,为了方便,我建了一个简单的access数据库test.mdb,这个数据库也只有一张emp,它有三个字段。下面的工程的InitInstance ()...
  • 1.以S属性的语法制导定义为基础,将下的语义规则嵌套语法分析的过程,即实现语法制导的翻译过程。 产 生 式 语 义 规 则 L E n print (E.val) E E1 + T E.val := E1 .val + T.val E T E.val := ...
  • 一个牛人提供的GIS源码(很好)

    千次下载 热门讨论 2010-08-25 22:49:21
    压缩包中为源代码和生成的程序,同时还赠送了一个基于SF6的MAPX打包文件以及整个校园的地图文件,提供了开放环境需要的插件支持文件(System目录下),同时由于文件大小原因,删除了许多Img目录下的图片并且数据库...
  • 《Access财务的应用》附书源码 目录 第1章 快速入门与准备 1-1 建立银行存款管理系统 1-2 建立银行存款 1-2-1 建立"银行存款收支项目一览" 1-2-2 建立"银行存款" 1-2-3 两个表的链接 1-3 ...
  • SQL Server和oracle增加自动增长列

    千次阅读 2015-04-22 14:09:53
    原文地址:...标识列可用 IDENTITY 属性建立,因此SQL Server,又称标识列为具有IDENTITY属性的列或IDENTITY列。 下面的例子创建一个包含名为ID,类型为int,种子为1,递增量为1的

    原文地址:http://blog.sina.com.cn/s/blog_6a24a6de010166aj.html

    1. SQL Server

    1.1. 创建表时指定自动增长列

    标识列可用 IDENTITY 属性建立,因此在SQL Server中,又称标识列为具有IDENTITY属性的列或IDENTITY列。
    下面的例子创建一个包含名为ID,类型为int,种子为1,递增量为1的标识列
    CREATE TABLE T_test
    (ID int IDENTITY(1,1),
     Name varchar(50)
    )

    1.2. 向已有的表增加自动增长列

    ALTER TABLE T_test
    ADD ID int IDENTITY(1,1)

    2. Oracle设置自动增长列:

    SQL SERVER数据库,他本身就提供了自动增长的功能,但在Oracle就没有了,只需替换红色部分

    2.1. 创建序列

    CREATE SEQUENCE my_id          ----my_seq为名创建序列
    START WITH 1                  ----1开始递增,可以是其他数字
    INCREMENT BY 1                   ----步进为1
    MAXVALUE 99999999999 [NOMAXVALUE]  ----递增的最大值,NOMAXVALUE没有最大值
    NOCYCLE                   ----CYCLE在有最大值时,达到最大值99999999999后循环从1开始再次递增,NOCYCLE不循环
    CACHE 20                 ----缓存,默认为20NOCACHE无缓存
    NOORDER;                   ----还没明白这个是干什么的,不过暂时可有可无的

    2.2. 创建触发器

    CREATE TRIGGER my_trigger                    ------my_trigger为触发器的名

    BEFORE INSERT ON table_name                       ------table_name为自动增长列所在表名

    FOR EACH ROW                                                 
    BEGIN                                                                             

     SELECT my_id.NEXTVAL INTO :NEW.id FROM DUAL;  
    END;



    2.3.自加部分 插入数据库数据,自增长列为ID,插入值为'',即不填写

    INSERT INTO table_name (ID, NAME, VAL1, VAL2) VALUES ('', 'Ryan', '12', '34')

     

    展开全文
  • 解决办法:后端的实体类中增加一个个属性的get方法,这个方法比原get方法后多一个后缀,比如s,其返回值类型为String,然后用struts2标签前端获取这个属性值的时候也后面加一个相同的后缀。举一反三:这个...

    解决办法在后端的实体类中增加一个这个属性的get方法,这个方法比原get方法后多一个后缀,比如s,其返回值类型为String,然后用struts2标签在前端获取这个属性值的时候也在后面加一个相同的后缀

    举一反三:这个解决办法可以运用到任何想要在前端表达的类型,比如date类型,如果实体中的类型是date类型,直接在前端获得的话有可能是乱码有可能显示的不是自己想要的,就可以通过这个办法将date类型转换成你想要的string类型,然后再增加一个get方法,在前端用struts标签获得即可,注意:前端标签获得的时候加上与你后端相同的后缀

    演示如下:需求是我想在前端获得一个联系人实体中的性别,但是这个性别是非string的,看我如何修改它。

    1、在原来LinkMan实体中增加一个public String getLkm_gender_s(){}方法,在这个方法中书写你想要的逻辑,这个方法的原get方法是:public Character getLkm_gender() {return lkm_gender;}。

    修改后的LinkMan实体类的完整代码如下:

    package indi.domain;
    //联系人实体
    public class LinkMan {
    		
    	private Long lkm_id;//联系人id
    	private Character lkm_gender;//联系人性别
    	private String lkm_name;//联系人姓名
    	//下面配置get和set方法
    	public Long getLkm_id() {
    		return lkm_id;
    	}
    	public void setLkm_id(Long lkm_id) {
    		this.lkm_id = lkm_id;
    	}
    	public Character getLkm_gender() {
    		return lkm_gender;
    	}
    	//这是原lkm_gender的get方法
    	public void setLkm_gender(Character lkm_gender) {
    		this.lkm_gender = lkm_gender;
    	}
    	//这是为了在前端获得这个性别显示的更好的方法,在原来get方法后加了一个"_s",可指定
    	//其struts2标签获取的方法为:<s:property value="#linkMan.lkm_gender_s" />,linkMan为传入前端的实体
    	public String getLkm_gender_s() {
    		if(lkm_gender==null){
    			return "";
    		}
    		switch (lkm_gender) {
    		case '1':
    			return "男";
    		case '2':
    			return "女";
    		default:
    			return "";
    		}
    	}
    	public String getLkm_name() {
    		return lkm_name;
    	}
    	public void setLkm_name(String lkm_name) {
    		this.lkm_name = lkm_name;
    	}
    	
    }

    2、前端通过struts2标签获得转换后的性别

    <TD><s:property value="#linkMan.lkm_name" /></TD>
    <!--不是用下面这个方法获得性别了-->
    <TD><s:property value="#linkMan.lkm_gender" /></TD>
    <!--而是用下面这个方法获得性别!!!!!!-->
    <TD><s:property value="#linkMan.lkm_gender_s" /></TD>


    展开全文
  • 收集器中增加一个约束。 参数 c:AbstractConstraint — 被加入的约束. addParticle () 方法 public function addParticle(p:AbstractParticle):void AbstractCollection中加入一个AbstractParticle 参数p:...
  • 表中的元素总数(N),表的大小(T),负载系数 (Lambda = N / T),平均碰撞次数(M = C / N)和总碰撞次数 碰撞(C)&#...
  • ■如何从一个字符串过滤掉特定的词语 ■如何查找相似词语 如何自动把URLs转成链接 如何自动为文本块增加段落标签 如何把字节格式转换成人们常用的格式 如何使用URL类 ohana Url类是一个Url助手。它用来帮助处理...
  • 晶振两边的电容:晶振的标称值测试时有一个“负载电容”的条件,工 作时满足这个条件,振荡频率才与标称值一致。一般来讲,有低负载电容(串 联谐振晶体),高负载电容(并联谐振晶体)之分。电路上的特征为:...
  • 开发中,java中的一个类中的属性和数据库表中的列属性对应,这个类也称为实体类; 二、数据库的增删改 1,数据库表的增加数据,也叫插入数据 2,删除数据 3,更新 4,数据库对表中列的增删改 --创建一个学生表...

    一、Oracle数据库的建表操作
    数据库中是以表为单位进行数据的组织与整理的,数据库中的建表和java中的 建类作用相似。
    在开发中,java中的一个类中的属性和数据库表中的列属性对应,这个类也称为实体类;
    Oracle数据库的建表操作
    二、数据库的增删改
    1,数据库表的增加数据,也叫插入数据
    插入数据
    2,删除数据
    删除数据
    3,更新
    更新
    4,数据库对表中列的增删改

    --创建一个学生表
    CREATE TABLE t_student (
    	student_id NUMBER ( 20 ) primary key,
    	student_name VARCHAR2 ( 20 ) NOT NULL,
    	age NUMBER ( 3 ) CHECK ( age >= 0 AND age <= 150 ),
    	sex VARCHAR2 ( 6 ) CHECK (
    	sex IN ( '男', '女' )),
    	birthday DATE,
    	mobile VARCHAR2 ( 20 ),
    	address VARCHAR2 ( 200 ),
    	class_id NUMBER ( 10 ) references t_class ( class_id ) 
    ) 
    --删除一个表
    DROP TABLE t_student;
    
    --增加一列 alter table + 表名 + add +列名 + 类型+ 约束
    ALTER TABLE t_student ADD email VARCHAR2 ( 40 ) CHECK ( email LIKE '%@qq.com' );
    --  修改表中的一列
    ALTER TABLE t_student MODIFY email VARCHAR2 ( 50 );
    --  删除表中的一列
    ALTER TABLE t_student DROP COLUMN email;
    --  添加多列
    ALTER TABLE t_student ADD (
    	username VARCHAR2 ( 20 ),
    	password VARCHAR2 ( 20 ));
    -- 删除多列
    ALTER TABLE t_student DROP ( username, password );
    

    看上面sql语句,发现删除一列的时候需要加column关键字,而删除多列的时候却又不需要加column了,
    这Oracle奇怪的语法!#¥#%¥¥#¥Y^%

    三、Oracle中序列的创建

    序列 sequence是Oracle提供的工具,用来生成自增的不重复的值。
    Oracle序列的创建和删除
    四、4. 索引 index

    索引相当于咱们小学时用的汉语字典,索引就相当于目录,可以通过目录快速找到我们需要的内容,
    利用索引可以很大程度上提高我们的查询速度。
    但是索引创建的多了也不好,什么东西多了都是物极必反。就像索引一样,虽然很大程序上提高了我们的查询速度,但是相应的肯定也会降低我们增删改的效率。
    数据库为主键以及唯一列(加unique约束的列)自动创建索引
    Oracle索引的创建和删除

    五、视图 view

    视图就是为一个复杂查询SQL的起一个别名,可提高开发效率,但不能提高查询效率。

    例如上篇中我们用到的员工表employees和部门表departments。 要想实现两张表的连接查询并且分页,是不是要好长一段代码,而这时如果把表的连接语句抽取出来创建成一个视图,那么SQL语句的可读性就提高很多了
    Oracle数据库视图的创建

    六、Oracle数据库的数据保护机制:DTL(Data Transaction Language) 数据事务语言

    事务:数据库的一种机制,保证一个业务操作包含的多条SQL,
    要么同时成功,要么同时失败。
    事务的特性:
    A(Atomic)原子性:事务包含的多条SQL要么同时成功,要么同时失败
    C (Consistency)一致性:事务包含的SQl执行前后,表中的数据必须是正确的
    I (Isolation)隔离性:多用户并发访问数据库时,是否允许不同的client查看到对方未曾提交的数据。
    D (Durability)持久性:一个事务结束(成功commit,失败rollback),不能再通过commit或rollback更改事务的结果。
    Oracle数据事务语言

    展开全文
  • 及的所有表中执行区分大小写的搜索。 例子: 1) rar "ic=first level" -r c:\*.rar *.txt c:\*.rar 压缩文件中的 *.txt 文件执行区分大小写的 "first level" 字符串的搜索 2) rar ih=f0e0aeaeab...
  • sql经典语句部分

    2011-07-31 11:16:50
    6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键: Alter table tabname add ...
  • 目录   实验要求 利用SQL语句创建数据库Lesson 通过SQL语句创建以下基本表 通过SQL语句实现以下操作: ...利用实验1创建的数据库Lesson,分别表中插入以下记录,要求至少有一个表为单元组、至少有一个...

    目录

     

    实验要求

    利用SQL语句创建数据库Lesson

    通过SQL语句创建以下基本表

    通过SQL语句实现以下操作:

    撤销索引IDX_CLASSID及IDX_S#_C#

    在学生关系中增加班级号属性列CLASSID

    撤销学生关系中的班级号属性列CLASSID

    撤销班级关系CLASS

    利用实验1创建的数据库Lesson,分别在各表中插入以下记录,要求至少有一个表为单元组、至少有一个表为多元组的方式插入:

    通过select into语句将SC表的表结构复制为SC_TEMP表,然后查询所有性别非空的学生的选课记录并将之插入到SC_TEMP表。

    删除SC_TEMP表中无成绩的元组。

    将SC_TEMP表中S3的低于S3平均成绩的成绩提高10%

    删除SC_TEMP表中S3的小于该生平均成绩的成绩元组。

    将S表中性别为空的学生的性别修改为女,并将年龄修改为25岁

    创建视图V_M_STUDENT, 要求显示男学生的学号、姓名、课程名、教师名、成绩等列

    ​检索学习C3课程的所有学生姓名和年龄

    检索学习由教授讲授的课程的学生学号和姓名

    检索没选修任何课程的学生学号

    检索年龄在18到20岁之间的女学生学习的课程号和课程名

    ​检索学习了C1或C3课程的学生学号

    ​检索Hu同学不学的课程号

    检索成绩为空的课程对应的教师号和教师姓名

    检索至少有S2和S4学习的课程号

    ​检索选修了S3学习的全部课程的学生学号

    检索每个学生的姓名和出生年份,并将出生年份列重命名为Birth_Year

    检索选修了课程的所有学生的学号,要求不显示重复结果

    检索LIU老师所授课程的每门课程的人数和平均成绩

    统计各门课程的最高分

    统计每门课程的学生选修人数,(超过3人的课程才统计),要求显示课程号和人数,查询结构按人数升序排序,若人数相同,按课程号降序排序

    查询每个学生超过他自己选修课程平均成绩的学号及课程号

    把低于所有课程总平均成绩的女同学的成绩提高3%

    分别用INNER JOIN 和LEFT OUTER JOIN 连接S和SC表

    检索姓名中第三个字母为“N”的学生的姓名和年龄

     选择C1课程的前3名的学生学号和成绩

     检索平均成绩大于85的学生学号


    实验要求

    利用SQL语句创建数据库Lesson

    create database work
    on primary(
    	name='work',  --主数据文件的逻辑名称
    	filename='F:\SQL\work1\work.mdf',   --主数据文件的物理名称
    	size=10mb,		--主数据文件的初始大小
    	filegrowth=10mb				--主数据文件的增长率
    )
    
    log on(
    	name='work_log',  --日志文件的逻辑名称
    	filename='F:\SQL\work1\work_log.ldf',    --日志文件的物理名称
    	size=5mb,		--日志文件的初始大小
    	filegrowth=10%				--日志文件的增长率
    )

    通过SQL语句创建以下基本表

    教师关系 T(T#, TNAME,TITLE)

    课程关系 C(C#,CNAME,T#)

    学生关系 S(S#,SNAME,AGE,SEX)

    选课关系SC(S#,C#,SCORE)

    班级关系CLASS(CLASSID,CLASSNAME)

    其中红色粗体为主键,带下划线的属性为外键。

    通过SQL语句在CLASS表的CLASSID列上创建聚集索引IDX_CLASSID

    通过SQL语句创建在S#C#两个列上创建索引IDX_S#_C#,并指定索引按S#降序,C#升序有序。

    create table T    --创建表教师关系T
    (T# char(4) not null,        
     TNAME char(8) not null,
     TITLE char(10),
     PRIMARY KEY(T#)	--设置主键为T#
    );
    create table C   --创建表课程关系T
    (C# char(4),
     CNAME char(10) not null,
     T# char(4),
     PRIMARY KEY(C#),   --设置主键为C#
     FOREIGN KEY(T#)REFERENCES T(T#)	--设置外键为T#
    );
    create table S		--创建表学生关系S
    (S# char(4) not null,
     SNAME char(8) not null,
     AEG char(1),
     PRIMARY KEY(S#)	--设置主键为S#
    );
    create table SC		--创建表选课关系SC
    (S# char(4),
     C# char(4),
     SCORE SMALLINT,
     PRIMARY KEY(S#,C#),  --设置主键为S#,C#
     FOREIGN KEY(S#)REFERENCES S(S#), ----设置外键为S#
     FOREIGN KEY(C#)REFERENCES C(C#)  ----设置外键为C#
    );
    create table class  --创建表班级关系class
    (
    	CLASSID char(4),
    	CLASSNAME char(8)
    );

    通过SQL语句实现以下操作:

    撤销索引IDX_CLASSID及IDX_S#_C#

    create unique index IDX_CLASSID on class(CLASSID);  
    --在CLASS表的CLASSID列上创建聚集索引IDX_CLASSID
    create unique index IDX_S#_C# on SC(S# DESC,C# ASC);
    --创建在S#和C#两个列上创建索引IDX_S#_C#,并指定索引按S#降序,C#升序有序
    DROP INDEX IDX_CLASSID on class; --撤销索引IDX_CLASSID
    DROP INDEX IDX_S#_C# on SC;		--撤销索引IDX_S#_C#

    在学生关系中增加班级号属性列CLASSID

    alter table S add CLASSID char(4); --在学生关系中增加班级号属性列CLASSID

    撤销学生关系中的班级号属性列CLASSID

    alter table S drop column CLASSID;	  --撤销学生关系中的班级号属性列CLASSID

    撤销班级关系CLASS

    drop table class ;		--撤销班级关系CLASS

    利用实验1创建的数据库Lesson,分别在各表中插入以下记录,要求至少有一个表为单元组、至少有一个表为多元组的方式插入:

    S表

     

    C表

     

    SC表

    T表

    insert S(S#,SNAME,AEG,sex) 
    values('s1','WANG','20','男'),
    	  ('s2','LIU','18','女'),
    	  ('s3','HU','17','男'),
    	  ('s4','XIA','19',NULL),
    	  ('s5','SUN','20','男'),
    	  ('s6','ZHAO',NULL,'男'),
    	  ('s7','DENG',NULL,'女')
    
    insert C(C#,CNAME,T#) values ('c1','OS','t2')
    insert C(C#,CNAME,T#) values ('c2','java','t1')
    insert C(C#,CNAME,T#) values ('c3','C++','t1')
    insert C(C#,CNAME,T#) values ('c4','C','t3')
    
    insert SC(S#,C#,SCORE) 
    values('s1','c1','80'),
    	  ('s1','c2','53'),
    	  ('s1','c3',NULL),
    	  ('s1','c4','68'),
    	  ('s2','c1','85'),
    	  ('s3','c1','85'),
    	  ('s3','c3','83'),
    	  ('s3','c4','75'),
    	  ('s4','c1','79'),
    	  ('s4','c2','92'),
    	  ('s5','c1',NULL),
    	  ('s5','c2','45')
    
    insert T(T#,TNAME,TITLE) 
    values('t1','LIU','教授'),
    	  ('t2','ZHANG','副教授'),
          ('t3','LI','教授'),
          ('t4','ZHAO','讲师')

    通过select into语句将SC表的表结构复制为SC_TEMP表,然后查询所有性别非空的学生的选课记录并将之插入到SC_TEMP表。

    select *into SC_TEMP from SC where 1=2
    insert into SC_TEMP select *from SC where S# in(select S# from S where sex is not NULL)

    删除SC_TEMP表中无成绩的元组。

    delete from SC_TEMP where SCORE is NULL  --删除SC_TEMP表中成绩为NULL的元组

    将SC_TEMP表中S3的低于S3平均成绩的成绩提高10%

    --将SC_TEMP表中S3的低于S3平均成绩的成绩提高10% 
    update SC_TEMP set SCORE =1.1*SCORE where SCORE <(select AVG(SCORE) from SC_TEMP where S#='s3') and S#='s3'

    删除SC_TEMP表中S3的小于该生平均成绩的成绩元组。

    --删除SC_TEMP表中S3的小于该生平均成绩的成绩元组。
    delete from SC_TEMP where SCORE <(select AVG(SCORE) from SC_TEMP where S#='s3') and S#='s3'

    将S表中性别为空的学生的性别修改为女,并将年龄修改为25岁

    update S set [sex]='女', [AEG]='25' where sex is NULL

    创建视图V_M_STUDENT, 要求显示男学生的学号、姓名、课程名、教师名、成绩等列

    create view V_M_STUDENT(S#,SNAME,CNAME,TNAME,SCORE) 
    as select S.S#,SNAME,CNAME,TNAME,SCORE from S,C,T,SC
    where S.S#=SC.S# AND SC.C#=C.C# AND C.T#=T.T#

    检索学习C3课程的所有学生姓名和年龄

    --1)检索学习C3课程的所有学生姓名和年龄
    select S.SNAME,S.AEG from S,SC where S.S#=SC.S# and SC.C#='c3'

    检索学习由教授讲授的课程的学生学号和姓名

    --2)检索学习由教授讲授的课程的学生学号和姓名
    Select DISTINCT S.S#,S.SNAME from S,SC,C,T where 
    T.TITLE='教授' AND T.T#=C.T# AND C.C#=SC.C# 
    AND SC.S#=S.S#

    检索没选修任何课程的学生学号

    --3)检索没选修任何课程的学生学号
    select S.S# from S where S.S# NOT IN (SELECT S# FROM SC) 

    检索年龄在18到20岁之间的女学生学习的课程号和课程名

    --4)检索年龄在18到20岁之间的女学生学习的课程号和课程名
    SELECT DISTINCT C.C#,C.CNAME FROM C,SC WHERE C.C#=SC.C# AND SC.S# IN(SELECT S# FROM S WHERE S.AEG BETWEEN 18 AND 20)

    检索学习了C1或C3课程的学生学号

    --5)检索学习了C1或C3课程的学生学号
    SELECT DISTINCT S.S# FROM S,SC WHERE S.S# LIKE SC.S# AND (SC.C#='c1' or SC.C#='c3')

    检索Hu同学不学的课程号

    --6)检索Hu同学不学的课程号
    SELECT C.C# FROM C WHERE C.C# NOT IN (SELECT C# FROM SC,S WHERE SC.S# LIKE S.S# AND S.SNAME='HU') 

    检索成绩为空的课程对应的教师号和教师姓名

    --7)检索成绩为空的课程对应的教师号和教师姓名
    SELECT T.T#,T.TNAME 
    FROM T 
    WHERE T.T# IN 
    (SELECT C.T# FROM C,SC WHERE C.C# LIKE SC.C# AND SC.SCORE IS NULL)

    检索至少有S2和S4学习的课程号

    --8)检索至少有S2和S4学习的课程号
    SELECT DISTINCT SC.C# FROM SC 
    WHERE SC.C# IN 
    ((SELECT SC.C# FROM SC WHERE SC.S# like 's2') INTERSECT (SELECT SC.C# FROM SC WHERE SC.S# like 's4'))

    检索选修了S3学习的全部课程的学生学号

    --9)检索选修了S3学习的全部课程的学生学号
    SELECT DISTINCT SC.S# FROM SC WHERE SC.C# IN (SELECT SC.C# FROM SC WHERE SC.S# LIKE 's3')

    检索每个学生的姓名和出生年份,并将出生年份列重命名为Birth_Year

    --10)检索每个学生的姓名和出生年份,并将出生年份列重命名为Birth_Year
    SELECT S.SNAME,2018-S.AEG AS Birth_Year FROM S

    检索选修了课程的所有学生的学号,要求不显示重复结果

    --1)检索选修了课程的所有学生的学号,要求不显示重复结果
    SELECT DISTINCT SC.S# FROM SC 

    检索LIU老师所授课程的每门课程的人数和平均成绩

    --2)检索LIU老师所授课程的每门课程的人数和平均成绩。
    SELECT C.C#,COUNT(DISTINCT SC.S#),AVG(SC.SCORE)
    FROM C,T,SC
    WHERE C.T#=T.T# AND C.C#=SC.C# AND TNAME='LIU'
    GROUP BY C.C#;

    统计各门课程的最高分

    --3)统计各门课程的最高分。
    SELECT SC.C#,MAX(SC.SCORE) FROM SC GROUP BY SC.C#

    统计每门课程的学生选修人数,(超过3人的课程才统计),要求显示课程号和人数,查询结构按人数升序排序,若人数相同,按课程号降序排序

    --4)统计每门课程的学生选修人数,(超过3人的课程才统计),要求显示课程号和人数,查询结构按人数升序排序,若人数相同,按课程号降序排序。
    SELECT DISTINCT C#,COUNT(DISTINCT S#) AS 人数
    FROM SC
    GROUP BY C#
    HAVING COUNT(S#)>3
    ORDER BY COUNT(DISTINCT S#) asc,C#

    查询每个学生超过他自己选修课程平均成绩的学号及课程号

    --5)查询每个学生超过他自己选修课程平均成绩的学号及课程号。
    SELECT X.S#,X.C#
    FROM SC AS X 
    WHERE X.SCORE >(SELECT AVG(Y.SCORE) FROM SC AS Y WHERE X.S# =Y.S# )

    把低于所有课程总平均成绩的女同学的成绩提高3%

    --6)把低于所有课程总平均成绩的女同学的成绩提高3%
    --SELECT SC.SCORE FROM SC,S WHERE SC.S# LIKE S.S# AND S.sex='女' AND SC.SCORE>(SELECT AVG(SC.SCORE) FROM SC)
    UPDATE SC SET SC.SCORE=SC.SCORE*1.03 WHERE SC.SCORE LIKE (SELECT SC.SCORE FROM SC,S WHERE SC.S# LIKE S.S# AND S.sex='女' AND SC.SCORE<(SELECT AVG(SC.SCORE) FROM SC))

    分别用INNER JOIN 和LEFT OUTER JOIN 连接S和SC表

    --INNER JOIN   仅对满足连接条件的CROSS中的列        LEFT OUTER JOIN    一个表满足条件的行,和另一个表的所有行
    SELECT *FROM S INNER JOIN SC on S.S#=SC.S# 
    SELECT *FROM S LEFT OUTER JOIN SC on S.S#=SC.S# 

    检索姓名中第三个字母为“N”的学生的姓名和年龄

    --8)检索姓名中第三个字母为“N”的学生的姓名和年龄。
    SELECT S.SNAME,S.AEG FROM S WHERE S.SNAME LIKE '__N%'

     选择C1课程的前3名的学生学号和成绩

    --9) 选择C1课程的前3名的学生学号和成绩。
    SELECT TOP(3) SC.S#,SC.SCORE FROM SC WHERE SC.C# LIKE 'c1' ORDER BY SC.SCORE DESC

     检索平均成绩大于85的学生学号

    --10) 检索平均成绩大于85的学生学号。
    SELECT DISTINCT X.S# FROM SC AS X WHERE 85<= ALL(SELECT AVG(Y.SCORE) FROM SC AS Y WHERE Y.S#=X.S# GROUP BY Y.S#)

     

    展开全文
  • Java开发技术大全(500源代码).

    热门讨论 2012-12-02 19:55:48
    invokeMethod.java 同一个调用方法示例 invokeOther.java 类的外部调用方法示例 invokeStaticMethod.java 调用静态方法示例 localVariable.java 演示局部变量 localVSmember.java 局部变量与成员变量同名...
  • 基本思路就是遍历每一个属性,然后使用Object.defineProperty将这个属性设置为响应式的(即我能监听到他的改动)。 先说遍历,很简单,如下10行左右代码就足够遍历一个对象了:...
  • 除了干净之外,它还能达到复用的目的,比如你多个地方想使用同一个链接,那么文内使用标识符,只最底部给标识符定义出实际的URL链接即可,类似编程语言的变量。 URL标识符是我起的名字,不知道是否准确。囧。...
  • 说明 : 指定在一个共享服务器环境可同时运行的共享服务器进程的最大数量。 值范围: 根据操作系统而定。 默认值 : 20 dispatchers: 说明 : 为设置使用共享服务器的共享环境而设置调度程序的数量和类型。可以为该...
  • 有状态SessionBean,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存清除…… Java Socket 聊天...
  • 有状态SessionBean,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存清除…… Java Socket 聊天...
  • cooper今天学到的东西

    2019-11-08 22:43:46
    离散数学 ·什么是自反性,反自反性,对称性,反对称性,传递性,反传递性?如何判断关系R,和关系S...并且给表增加一个或删除一个属性?同时应该怎样默认化参数? ·SQL怎样声名键值?当有多个多个属性时怎么办...
  • 入门学习Linux常用必会60命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    Linux,如果要使用硬盘、光驱等储存设备,就得先将它加载,当储存设备挂上了之后,就可以把它当成一个目录来访问。挂上一个设备使用mount命令。使用mount这个指令时,至少要先知道下列三种信息:要加载对象的...
  • sorted set是set的一个升级版本, 它set的基础上增加一个顺序属性. 这一属性在添加修改元素的时候可以指定. 每次指定后, zset会自动重新按新的值调整顺序. 可以理解为有两列单的mysql, 一列存value, 一列存...
  • 若选修关系X(即选修关系SC)存在一个元组s,使得s.Sno=t.Sno成立而且s.Cno='2'成立,则元组t满足要求,并按要求输出元组t的相关属性值。 按照1,2遍历学生关系Student的每一个元组。 简而言之,该学生选修...
  • ZendFramework中文文档

    2011-03-22 10:11:12
    10.4.2. 同一表中查询多列数据 10.4.3. 多表联合查询 10.4.4. WHERE条件 10.4.5. GROUP BY分句 10.4.6. HAVING 条件 10.4.7. ORDER BY 分句 10.4.8. 通过总数和偏移量进行LIMIT限制 10.4.9. 通过页数和总数...
  • 树结构,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称树的根。例如,图1-1,结点A是树的根结点。 子结点和 叶子结点 树结构,每一个结点可以有多个后件,称为该...
  • 正则表达式

    2014-12-03 14:51:39
    如果想正则表达式使用特殊的标点符号,必须它们之前加上一个 "\" . 2.字符类 将单独的直接符放进括号内就可以组合成字符类.一个字符类和它所包含的任何一个字符都匹配,所以正则表达式 / [abc] / 和字母 ...
  • 对于使用keil进行编译,需要keil的target option中增加--keep shellCommand*,防止定义的命令被优化掉 使用GCC编译时,需要ld文件中的只读数据区(建议)添加: _shell_command_start = .; KEEP (*(shellCommand))...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 252
精华内容 100
关键字:

在s表中增加一个属性