1、select cno,cname from c where tname='张三';
2、select sno,sname from s where class='信息502班'
and sex='男';
3、select ccname,ctname from c where cno in ( select cno from sc where sno='1003');
4、select sname
from s
where sex='女'
and sno in
(select sno
from sc
where cno in
( select cno
from c
where tname='张三'
)
);
5、select cno
from c
where cno not in
( select cno
from sc
where sno in
(select sno
from s
where sname='王五'
)
);
6、select sno
from sc
where cno in ('c001','c002')
group by sno
having count()>1;
7、select cno from sc group by cno having count() in (select count() from s);
不确定用 ‘=’ 是否正确,所以用 ‘in’,你可以自己试试‘=’!!
8、select sno from sc where not exists (sccno not in (select cno from c where tname='张三'));
也就是不存在(课程不是张三讲授)的学生学号
您好,是这样的:
1首先确认已经备份了mdf和ldf文件。
2
在SQL
Server中新建一个同名的数据库,然后停止SQL
Server服务。
3
用原有的mdf和ldf文件覆盖新建数据库对应的mdf和ldf文件。
4
重新启动SQL
Server服务,这是应该会看到这个数据库处于置疑(Suspect)状态。
5
在SQL查询分析器中执行以下命令,以允许更新系统表:use
mastergosp_configure
"allow
updates",1reconfigurewithoverridego。
6
将这个数据库置为紧急模式:update
sysdatabases
set
status
=
32768
where
name="db_name"go。
7
使用DBCC
CHECKDB命令检查数据库中的错误:DBCC
CHECKDB("db_name")GO。
8
如果DBCC
CHECKDB命令失败,请转至第10步,否则先将数据库置为单用户模式,再尝试对其进行修复:sp_dboption
"db_name","single
user","true"DBCCCHECKDB("db_name",REPAIR_ALLOW_DATA_LOSS)GO
如果在执行DBCCCHECKDB("db_name",REPAIR_ALLOW_DATA_LOSS)命令时提示说数据库未处于单用户模式状态的话,则重新启动SQLServer服务,然后继续尝试。
9
如果DBCCCHECKDB("db_name",REPAIR_ALLOW_DATA_LOSS)命令失败,请转至第10步,否则若成功修复了数据库中的错误:
重新执行DBCC
CHECKDB("db_name")命令,确认数据库中已没有错误存在。
清除数据库的置疑状态:sp_resetstatus
"db_name"
清除数据库的单用户模式状态:sp_dboption
"db_name","single
user","false"
重新启动SQL
Server服务,如果一切正常的话,则数据库已经成功恢复。
10如果以上步骤都不能解决问题的话,请参考附件中的文档尝试通过重建事务日志来恢复数据库中的数据。如果您只有MDF文件,问题就更加复杂一些,我们需要直接重建事务日志了:
1
在SQL
Server中新建一个同名的数据库,然后停止SQL
Server服务。
2
用原有的ldf文件覆盖新建数据库对应的mdf文件,将其日志文件(ldf)删除。
3
启动SQL
Server服务,并将数据库置为紧急模式(同上:
步骤5和步骤6)。
4
停止并重新启动SQL
Server服务。
5
执行以下命令重建数据库日志文件:(下面是个示例,您要用您实际的数据库名)
DBCC
REBUILD_LOG("cas_db",
"D:\cas_db\cas_db_LogLDF")
6
重新将该数据库置为单用户模式。
7
再次尝试使用DBCC
CHECKTABLE或DBCC
CHECKDB命令检查并修复数据库中。
create database empsystem
on (filename='d:\database\empsystem_datamdf',
size=3mb,maxsize=20mb,filegrowth=2mb)
go
--use empsystem
create table Departments(
DepartId int not null primary key,
departname nvarchar(50),
location nvarchar(100))
create table Employees(
EmpId Int IDENTITY(1,1) primary key ,
EmpName Nvarchar(50),
Job Nvarchar(50),
MgrId int,
HireDate date,
Salary float,
Commission float ,
DepartId int REFERENCES Departments(DepartId))
go
insert Departments values(1,'市场部','湖北武汉')
insert Departments values(2,'销售部','湖北武汉')
insert Departments values(3,'研发部','湖北武汉')
insert Departments values(4,'人事部','湖北武汉')
insert Departments values(5,'企划部','湖北武汉')
insert Departments values(6,'产品部','湖北武汉')
go
insert Employees(Empname,Job,MgrId,HireDate,Salary,Commission,DeptId) values
('小刘','程序员',2,'2009-0708',2200,1500,3)
go
--1
select empname 姓名,job 工作,HireDate 入职日期,salary+commission 工资 from employees
where (salary+commission)>(select salary+commission from employees where empname='陈芳')
--2
select job 工作,salary+commission 工资 from employees
where (salary+commission)>3000
--3
create procedure proce1
@name Nvarchar(50) ,@mgrId int output
as
select @mgrId=mgrId from employees where empname=@name
--4
--5
ALTER TABLE departments ADD DepartId int
CONSTRAINT DepartId_pk PRIMARY KEY
以上就是关于帮我解答下数据库原理与SQL SERVER题目全部的内容,包括:帮我解答下数据库原理与SQL SERVER题目、SQL server 数据库问题、SQL Server数据库进阶考试题 要求用SQL语句实现(全部利用SQL语句完成)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)