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

数据库期末考试sql

发布时间: 2022-05-09 12:28:04

1. 求助:数据库sql查询、关系代数(期末考试小题目)

1.select 学号,姓名 from 学生 where 学号 not in (select 学号 from 选课)

2. select 学号,姓名 from 学生 where 学号 in (select 学号 from 选课 where 成绩<60 and 课号=(select 课号 from 课程 where 课名='VB'))

3. select a.学号,b.成绩 from 学生 as a,选课 as b where a.学号=b.学号 amd b.课号 in (select 课号 from 课程 where 学分>3 )

2. 数据库期末考试

如下 (PS:简单起见全部使用的varchar2 有些按需要可改成int )
[oracle@rhel3 admin]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Proction on Fri Apr 10 13:21:11 2015

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Proction
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> create table student(sno varchar2(10) primary key,sname varchar2(20),ssex char(2),sbirthday varchar2(20),sdept varchar2(20));
Table created.
SQL> create table courses(cno varchar2(10) primary key,cname varchar2(20),ccredit varchar2(10));
Table created.
SQL> create table sc(sno varchar2(10),cno varchar2(10),grade varchar2(10));
Table created.
SQL> alter table sc add constraint pk_sc primary key (sno,cno);
Table altered.

1 select sno,sname from student;
2 select sno,sname,sdept from student;
3 select * from student;
4 select sno,sbirthday from student;
5 select sno,sbirthday,lower(sdept) sdept from student;
6 select sno xingm,sbirthday csrqi,sdept xim from student;
7 select distinct(sno) from student where sno in (select sno from sc where cno in (select cno from courses where cpno is not null));
8 select * from student where sdept='jisuanji';
9 .1 select sname,round(months_between(sysdate,to_date(sbirthday,'yyyy-mm-dd')),0)/12 nianji from student where sbirthday<add_months(sysdate,-12*20);
9.2 select sname,round(months_between(sysdate,to_date(sbirthday,'yyyy-mm-dd')),0)/12 nianji from student where months_between(sysdate,to_date(sbirthday,'yyyy-mm-dd'))/12<20;
10 select distinct(sno) from sc where grade<'60';
未完待续......看的真累
11 select sname,sdept,round(months_between(sysdate,to_date(sbirthday,'yyyy-mm-dd')),0)/12 nianlin from student where months_between(sysdate,to_date(sbirthday,'yyyy-mm-dd'))/12 between 20 and 30;
12 select sname,sdept,round(months_between(sysdate,to_date(sbirthday,'yyyy-mm-dd')),0)/12 nianlin from student where months_between(sysdate,to_date(sbirthday,'yyyy-mm-dd'))/12 <20 or months_between(sysdate,to_date(sbirthday,'yyyy-mm-dd'))/12>30;
13 select sname,ssex from student where sdept in ('xinxi','shuxue','jisuanji');
14 select sname,ssex from student where sdept not in ('xinxi','shuxue','jisuanji');
15 select * from student where sno like '95001%';
16 select sname,sno,ssex from student where sname like 'liu%';
17 select sname from student where sname like 'ouyang%' and length(sname)=6;
18 select sname,sno from sutdent where substr(sname,2,1)='yang';

19 select sname from student where sname not like 'liu%';

20 select cno,ccredit from courses where cname like 'C%';
21 select cno,credit from courses where cname like 'H%' and substr(cname,length(cname)-3,1)='T';
歇会....................
22 select sno,cno from sc where cno in (select cno from courses where cpno is not null) and grade is null;
23 select sno,cno from sc where grade is null;
24 select sname from student where sdept='jisuanji' and (months_between(sbirthday,sysdate)/12)<20;
25 select sname,ssex from student where sdept='jisuanji' or sdept='shuxue' or sdept='xinxi';
26 select sno,grade from sc where cno='3' order by grade desc;
27 select * from student order by sdept asc,sbirthday desc;
28 select count(1) from student;
29 select count(sno) from sc where cno in (select cno from courses where cpno is not null);
30 ...........
PS : courses 那个表好像建表的时候多打了个s

3. 数据库期末考试题 编写SQL语句 1.创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系

create table 学生表
(
学号 char(10) primary key,
姓名 char(10),
年龄 int,
性别 char(2) check (sex IN ('男','女')),
家庭住址 char(40),
联系 char(20)
)

4. 数据库题目,这两天考试用,要全部用SQL语句,哪位高手帮忙做下,谢谢了。

1.CREATE DATABASE TEST;
2.USE KAOSHI;
CREATE TABLE STUDENT
(
XUEHAO NCHAR(10) PRIMARY KEY,
XINGMING NCHAR(8) UNIQUE,
BANJI NCHAR(10)
)
3.USE TEST;
CREATE TABLE COURSE
(
KECHENGHAO NCHAR(4) PRIMARY KEY,
KECHENGMING NCHAR(10) UNIQUE,
XUEFEN INT
)
4.USE KAOSHI;
CREATE TABLE SCORE
(
XUEHAO NCHAR(10) PRIMARY KEY,
KECHENGHAO NCHAR(4) UNIQUE,
CHENGJI INT,
XUEQI NCHAR(10)
)
5.ALTER TABLE KAOSHI.STUDENT
ADD CONSTRAINT fk_stuInfo_stuNo FOREIGN KEY (XUEHAO) REFERENCES KAOSHI.SCORE(XUEHAO);
ALTER TABLE TEST.COURSE
ADD CONSTRAINT fk_stuInfo_COUNO FOREIGN KEY (kechenghao) REFERENCES KAOSHI.SCORE(KECHENGHAO);
update SCORE T SET T.BEIZHU='及格' WHERE T.CHENGJI<60 PS.创建的表中没有备注这一列。感觉这题有歧义
CREATE VIEW YOUXIUXINXI AS
SELECT T.XUEHAO,T.XINGMING,T1.KEHCENGHAO,T1.KECHENGMING,T3.BEIZHU
FROM STUDENT T,COURSE T1,SCORE T3 WHERE T3.BEIZHU='不及格'
ORDER BY T.XUEHAO
CREATE PROCEDURE GERDRADE(V_XUEHAO NCHAR(10))
AS
BEGIN
SELECT XINGMING ,KECHENGMING,CHENGJI FROM SCORE T LEFT JOIN
COURSE T1 ON T.KECHENGHAO=T1.KECHENGHAO
LEFT JOIN STUDENT T2 ON T.XUEHAO=T2.XUEHAO
WHERE T2.XUEHAO=V_XUEHAO
END

5. 数据库原理期末题中的一个用SQL语句查询的题,是图中的第7小题

select cno from C where tno = 6 //查出业务是6 的主营公司

select count(1) from C where tno = 6 //查出业务是6 的主营公司总数
select count(1),cno from CT where tno !=6 and cno in ( select cno from C where tno = 6) group by cno 根据主营是6的公司 查出非6 的其他营业业务 和数量

select
b from (select count(1) a,cno b from CT where tno !=6 and cno in (
select cno from C where tno = 6)group by cno) where a =( select count(1) from C
where tno = 6) 根据数量对比 查出伴生业务号

其他的就根据业务号查了

思路是 根据C查出公司号,根据公司号在CT表里筛选 ,业务号是非6的其他业务 这样查出 2 3 1 业务 因为是半生的 所以数量一定和公司数量一致 根据公司数量对比一下就出来了 。也不确定理解的对不对,我是这样想的。

C表

公司号 主营业务
A 6

B 3

C 6

CT表
公司号 营业务号
A 6

A 2
A 3
B 3
C 6
C 3
C 1

6. 数据库SQL语句考试

1.
create table A (
S# varchar(20) primary key,
SN varchar(20),
Sex varchar(2),
Age number(10),
Dept varchar(50));
create table B (
C# varchar(20) primary key,,
CN varchar(20));
create table C (
S# number(10),
C# number(10),
Grade number(10));
2.
insert into table A(S#,Sn,Dept) values('010102','张静','机电');
3.
update C set grade=59 where grade>=60;
4.
delete * from C where S# in (select S# from A where Sn like '李%');
delete * from A where Sn like '李%';
5.
select S#,Sex,Age from A where Sn='刘华';
6.
select A.S#,B.C#,B.Cn from A,B,C
where A.Dept not in('计算机系','法律系') and A.S#=C.S# and C.C#=B.C#;
7.
select C.S#,sum(Grade) G from B,C
where Cn='大学语文' and B.C#=C.C# group by C.S# order by G desc;
8.
alter table A drop column Sex;//删除列
alter table A drop Column Age;
update A set SEX='',AGE='';//删除列记录
(不知道你这个删除具体是什么意思,2种你自己选择。)
9.
drop table C;
drop table B;
drop table A; //先删C再删A,否则会报错,无法删除使用记录。

7. 【数据库考试】sql查询语句,请进

定语

  1. 供应工程J1

  2. 零件为红色的

名词

1. 工程号JNO

8. 求sql数据库考试题答案

1.create database Readbook
on
(name=Readbook_data,filename='D:\server\Readbook_data.mdf',size=2mb,maxsize=10mb,filegrowth=1mb)
log on
(
name=Readbook_log,
filename='D:\server\Readbook_log.ldf',size=1mb,maxsize=5mb,filegrowth=1mb
)
go
2.use mybase
go
alter database mybase
add log file
(
name=Readbook2_log,
filename='D:\server\mybase2_log.ldf',size=2mb,maxsize=10mb,filegrowth=1mb
)
go
3.alter database mybase
remove file Readbook2_log

9. SQL期末考试数据库实训相关问题

企业信息表:INT :id --序列型主键自动生成 。VARCHAR :NO--企业编码,name--企业名称,……其它附属信息全部用VARCHAR自己定义把,例如联系方式,地址,联系人,所属地区,备注等等,我只告诉你关键信息。
电价流水信息表:INT :id --序列型主键自动生成,企业信息表_ID外键,---企业信息表ID, DATE--日期,double:电量,电费,
电价单价表:INT :id --序列型主键自动生成,企业信息表_ID外键--企业信息表DI,
日期:年月,double:单价。这个你可以不写,但是我们建模型这个基本都做。
2.,存储过程头你自己写 ,监控电价单价表的添加和修改动作,自己照书操。
SQL: update 电价流水信息表 set 电价流水信息表.电费=电价流水信息表.电量*电价单价表.单价 from 电价单价表 where 电价流水信息表.企业信息表_ID=电价单价表. 企业信息表_ID and
格式化 电价流水信息表。日期为年月=电价单价表.日期
就是更新来源是电价单价表,通过2个关键词更新,一个是企业信息ID,一个是格式化后的日期:年月
3.命名一个变量,查询的时候sum 电量和电费,group by 企业名称,where 里面企业名称=这个变量,
4.其实第三个会写了 ,第四个 应该跟第三个一样啊,只是定义了2个参数,一个是地区一个是年份,我告诉你分月统计的方法,查询里面sum的时候 格式化流水表的日期为 年月格式,GROUP BY 也要包含这个格式化,然后where里面写 格式化日期为年=参数的年

10. sql数据库任务驱动期末考试

java操作数据库,没找到驱动一般有两个原因:
没有导入jar包,比如连接Oracle数据库,就需要导入Oracle官方提供的驱动包。

加载驱动的时候,Class.forName(String str)中的str写错了。