第一篇:SQL语言总结
select 姓名,sum(成绩)as 总分from 学生 inner join 成绩 on 学生.学号=成绩.学号 group by 姓名 答:从通过学号建立的学生与成绩关系表中选择选择学生成绩的姓名集合Update 学生成绩表 set 高数=93
Where 高数=80;
答:将“学生成绩表”中所有“高数”为80分的记录的改为93分
Select 学号,姓名
From 学生
Where 专业=“计算机应用”;
答:查询出专业为“计算机应用”的所有男生的学号和姓名
Select 学号,姓名
From 学生
Where 年龄>=18 and姓名like“王*”;
答:显示学生表中年龄大于18岁且姓“王”的学生的所有信息。
Select Count(性别)as 男生人数
From 学生
Where 性别=“男”;
答:分别显示男生人数
Select 课程.课程编号, 课程.课程名, 成绩.学生编号, 成绩.成绩 From 课程 Inner Join 成绩 on 课程.课程编号 = 成绩.课程编号 Where(课程.课程名)=“数据库原理”and(成绩.成绩)>70;
答:查找“数据库原理”课程成绩在70分以上学生的学号、姓名和成绩
Select top 3 学号, 姓名
From 学生
Order by 成绩 Desc;
答:显示成绩前3名的学生的学号和姓名
SELECT 学生.学生编号, 学生.学生姓名, 课程.课程编号, 课程.课程名, 成绩.成绩, 班级.班级编号
FROM 课程 INNER JOIN(班级 INNER JOIN(成绩 INNER JOIN 学生 ON 成绩.学生编号=学生.学生编号)ON 班级.班级编号=学生.班级编号)ON 课程.课程编号=成绩.课程编号
WHERE(((课程.课程名)=“计算机基础”)AND((班级.班级编号)=“0401”));
答:查询0401课程成绩
SELECT 学生编号, 学生姓名, 性别, 出生年月, 籍贯, 身高, 班级编号
FROM 学生
WHERE 性别=“男” AND 班级编号=“0401”;
答:查找班级编号为0401的所有男生
UPDATE 成绩 SET 成绩 =((成绩*0.1)+成绩)
WHERE 成绩<60;
答:低于60分的增加10%
SELECT 课程.课程编号, 课程.课程名, 课程.学时, 课程.学分, 教师.教师编号, 教师.教师姓名, 教师.性别, 教师.职务
FROM 课程 INNER JOIN 教师 ON 课程.教师编号=教师.教师编号;答: 教师授课课程查询
SELECT 教研室编号, 教师人数
FROM 教研室;
答:教研室人数查询
SELECT 课程编号, 课程名, 学时
FROM 课程;
答:课程名称查询
SELECT avg(成绩)AS平均成绩
FROM 成绩;
答:平均成绩查询
SELECT avg(身高)AS平均身高
FROM 学生
WHERE 性别=“男”;
答:求出男生的平均身高
SELECT 学生编号, Avg(成绩)AS平均成绩, Sum(成绩)AS 总成绩 FROM 成绩
GROUP BY 学生编号;
答:求学生的平局成绩和总成绩
UPDATE 学生 SET 学生编号 = “050211”
WHERE 学生编号=“050101”;
答:修改学生编号
alter table 学生 add 身高 smallint;
答:增加身高字段
第二篇:SQL语言汇总
1.UPDATE MARK
SET 总分=语文+数学+英语
SELECT 准考证号,姓名,总分
FROM MARK
WHERE 语文>=75 AND数学>=75 AND 英语>=75 AND 语文+数学+英语>=240
ORDER BY 总分 DESC
UPDATE MARK
SET 修正分数=高考分数*1.3
WHERE 籍贯='云南' OR 籍贯='福建'
SELECT AVG(高考分数)as平均分
FROM MARK
GROUP BY 性别
SELECT *
FROM cj
WHERE 期中成绩>=80 OR 期末成绩>=80 ORDER BY 课程号 ASC
UPDATE cj
SET平均成绩=期中成绩*0.2+期末成绩*0.8
SELECT 书号,书名,作者
FROM gm
WHERE 书号 LIKE '理*' AND 单价>20 ORDER BY 单价 ASC
UPDATE gm
SET 金额=单价*数量
UPDATE Sale
SET 销售金额=销售数量*单价
UPDATE Wage
SET 实发工资=工资+奖金
SELECT 姓名,实发工资
FROM Wage
WHERE 姓名 LIKE '*辉'OR 姓名 LIKE ' *辉*' ORDER BY 年龄 DESC
SELECT 部门号, COUNT(*)as人数
FROM zhigong
GROUP BY 部门号
UPDATE kaoshi
SET平均成绩=笔试成绩*0.6+上机成绩*0.4
SELECT 考号,姓名,平均成绩
FROM kaoshi
WHERE 姓名 LIKE '黄*'
DELETE *
FROM mark
WHERE 学号='1003'
SELECT 学号,课程号,期末成绩
FROM mark
WHERE 学号 LIKE '*1'
ORDER BY 期末成绩 DESC
UPDATE fk
SET 超期罚款=单价*超期天数*0.005
SELECT *
FROM fk
WHERE 单价>=50 OR 超期天数>30 ORDER BY 超期罚款 DESC
UPDATE gp
SET 浮动盈亏=(市场现价-买入加个)*买入数量
SELECT 股票代码,买入时间,浮动盈亏 FROM gp
WHERE 股票代码 LIKE '6*' AND 浮动盈亏>0 ORDER BY 买入时间 ASC
UPDATE ah
SET 年龄=年龄+1
SELECT 寝室,COUNT(*)as 爱好球类人数 FROM ah
WHERE 爱好 LIKE '*球'
GROUP BY 寝室
UPDATE JHKC
SET 总价=单价*库存量
SELECT 设备编号,设备名称,单价
FROM JHKC
WHERE 库存量<300 AND 单价<500 ORDER BY 单价 DESC
UPDATE HCSK
SET 票价=600
WHERE 航班号=F807
SELECT 航班号,起飞日期,票价
FROM HCSK
WHERE 出发地='福州' AND 目的地='巴黎' ORDER BY 票价 ASC
第三篇:SQL语言
1.输出任意两个字符串变量的值(参考代码)
declare @v1 varchar(12),@V2 varchar(12)
set @v1='中国'
set @v2='你好!'
select @v1+@v2
2.为以下程序纠错
declare @v1 varchar(12),@V2 varchar(10)
set @v1='中国'
set @v2='你好!'
set @s='吗!'
select @v1+@v2+@s
3.运行以下代码,观察以下全局变量的功能
select 34@@connections 返回当前服务器的连接数目
select 1@@rowcount 返回上一条T-SQL语句影响的数据行数 select @@error返回上一条T-SQL语句执行后的错误号 select @@procid返回当前存储过程的ID号
select @@remserver 返回登录记录中远程服务器的名字 select @@spid返回当前服务器进程的ID标识
select @@version 返回当前SQL Server服务器的版本和处理器类型 select @@language 返回当前SQL Server服务器的语言
select @@connections
4.输入以下代码并理解其含意
bggin
if 3>5
select 'true'
else print 'false'
end
go
begin
if 'a'<'A'
select 'true'
else print 'false'
end
go
begin
if '张'>'李'
select 'true'
else print 'false'
end
go
begin
if getdate()>2008-10-10
print'true'
else print'false'
end
5.附加数据库student,并进行以下操作
use student
select * from xsda
以XSDa表为例,如果平均成绩高于75分,则显示“不错!”,否则,显示“加油呀!”。
declare @av1 char(12), @av2 char(12)
set @av1='不错!'
set @av2='加油!'
if(select avg(总学分)from xsda)>75
begin
select @av1
end
else
select @av2
编写一个程序,显示每一同学的成绩等级
select xh,zf,dj=
case
when zf>70 then '优秀'
when zf>65 then '良好'
when zf>=60 then '合格'
else '不合格'
end
from xsdn
6.求1-100偶数和(参考代码)
declare @i int,@s int/*定义变量*/
set @i=0/*变量赋初值*/
set @s=0
while @i<=100/*条件*/
begin
set @s=@s+@i/*累加求和*/
set @i=@i+2/*偶数*/
end
print @s
7.求10!
8.为以下程序纠错(求1-100的积)
declare @i int,@s int
set @i=0
set @s=0
while @i<=100 begin
set @s=@s*@iset @i=@i+2 end
print @s
第四篇:SQL语言以及SQL
SQL语言以及SQL*PLUS工具
1.SQL语言组成:
数据查询语言(DQL):SELECT;
数据操纵语言(DML):INSERT、UPDATE、DELETE; 事务控制语言(TCS):COMMIT、ROLLBACK;
数据定义语言(DDL):CREATE、DROP、ALTER;
数据控制语言(DCL):GRANT、REVOKE;
2.数据查询语言(DQL):
一般格式:
1.SELECT [ALL|DISTINCT] <目标列表达式> [, <目标列表达式>]…
2.FROM <表名或者视图名> [, <表名或者视图名>]…
3.[WHERE <条件表达式>]
4.[GROUP BY <列名1> [HAVING <条件表达式>]]
5.[ORDER BY <列名2> [ASC|DESC];
实例:
6.SELECT empno,ename FROM emp WHERE ename<>'a' order by empno;
3.数据操纵语言(DML):
INSERT:
一般格式:
7.INSERT
8.INTO <表名> [(<属性列1>[, <属性列2>]…)]
9.VALUES(<常量1>[, <常量2>]…);
实例:
INSERT INTO emp(empno,ename)VALUES(1,’test1’);
UPDATE:
一般格式:
10.UPDATE<表名>
11.SET <列名>=<表达式> [,<列名>=<表达式>]…
12.[WHERE <条件>];
实例:
13.UPDATE emp SET ename=’test2’ WHERE empno=1;
DELETE:
一般格式:
14.DELETE
15.FROM <表名>
16.[WHERE <条件>];
实例:
DELETE FROM emp WHERE empno=1;
4.事务控制语言(TCS):
COMMIT:
说明:
5.6.7.8.17.放在DML之后,提交事务。 一般格式: 18.COMMIT; 实例: INSERT INTO emp(empno,ename)VALUES(1,’test1’);COMMIT; ROLLBACK: 说明: 19.放在DML之后,回滚事务。 一般格式: 20.ROLLBACK; 实例: INSERT INTO emp(empno,ename)VALUES(1,’test1’); ROLLBACK;课后练习(2小时): 用各种组合反复练习数据查询语言DQL; 用各种组合反复练习数据操纵语言DML; 和DML结合反复练习事务控制语言TCS。SQL*PLUS简介: 是Oracle数据库提供的用于和数据库交互的工具; 数据库管理员管理数据库的主要工具; 支持SQL-2和SQL-3标准; 支持Oracle PL/SQL语言; 支持一套Oracle公司定义的SQL*PLUS操纵语言。SQL*PLUS语言介绍: 不是标准语言; 可以缩写(一般取英文单词的前4位); 不用加分号; 分成数据库访问、输出格式设置、文本编辑、执行程序、环境设置、其他等几类。常用的SQL*PLUS命令:
CONNECT(CONN):连接数据库:
21.CONN SCOTT/TIGER@FIS
EXIT:退出SQL*PLUS;
DESCRIBE(DESC):显示数据库对象的结构:
22.DESC emp
SHOW:显示系统信息:
23.SHOW user
EDIT:文本编辑;
RUN(/):运行前一命令;
SAVE:保存前一命令:
24.SAVE c:temptest.txt
PASSWORD(PASSW):修改当前用户的口令; SPOOL:将输出结果保存到本地硬盘上
SPOOL c:temptest.txt SELECT * FORM emp;SPOOL OFF
START(@):路径*.sql执行脚本 column 字段名 format a35set line 100
第五篇:SQL 语言
SQL语言
create database student
on primary
(name=student_data1,filename='c:student_data1.mdf',size=10M,maxsize=100M,filegrowth=10%)
filegroupstudent_group分组
(name=student_data2,filename='c:student_data2.ndf',size=10M,maxsize=100M,filegrowth=10%)
log on
(name=student_log1,filename='c:student_data1.ldf',size=10M,maxsize=100M,filegrowth=10%)
create table xi
(系编号 char(2)primary key,系名varchar(20))主码
insert into xi values('01','物理系')
insert into xi values('02','化学系')
select *from xi查询
create table student
(学号 char(11)primary key,姓名varchar(10),民族 char(2)default'汉',出生日期datetime ,奖学金 money check(奖学金<=8000), 系编号 char(2)foreign key references xi(系编号))
默认值,约束,外码
insert into student values('20090214201','马帅', '汉','1990-1-8',1500, '01')
insert into student values('20100214202','周伊','回' ,'1989-2-4',500,'02')
update student set 出生日期='1911-3-1'where 学号 ='20100214201'
更新数据
select* from student/ 3
alter table student add 性别 char(2)check(性别='男'or 性别='女')
增加列
update student set 性别 ='男' where 学号 ='20090214201' update student set 性别 ='女' where 学号 ='20100214202' select student* from student where left(学号,4)=’2009’ 查询大三学生的详细信息
create table kc
(课程编号 char(2),课程名varchar(20))
alter table kc alter column 课程编号 char(2)not null 修改字段
alter table kc addconstraint pk_kcprimary key(课程编号)加主码(加主码的字段不能为空)
insert into kc values('01','语文')
insert into kc values('02','数学')
insert into kc values('03','英语')
update kc set课程名 ='历史学' where 课程编号= '05' execute sp_rename '课程编号','课程名','column'
改名
create table cj
(学号 char(11)foreign key references student(学号))alter table cj add 课程编号 char(2)
增加列
alter table cj add foreign key(课程编号)references kc(课程编号)
增加外码
alter table cj add 成绩varchar(3)
insert into cj values('20100214201','01','69')
insert into cj values('20100214201','02','90')
insert into cj values('20100214201','03','56')
insert into cj values('20100214202','01','26')
insert into cj values('20100214202','02','54')
insert into cj values('20100214202','03','89')
1.select student.*,课程名,成绩 ,系名 from student ,kc,cj ,xi where student.系编号 = xi.系编号and cj.学号=student.学号 and kc.课程编号=cj.课程编号 and student.学号='20100214202'
查询学号为20100214202的学生student表的全部内容和每门课的成绩及所在系
2.select 姓名,课程名,成绩,系名 from student,kc,cj,xi where student.学号 = cj.学号 and student.系编号=xi.系编号 and cj.课程编号= kc.课程编号 and month(getdate())=month(student.出生日期)and day(getdate())= day(student.出生日期)
查询今天过生日的学生的姓名每门课的成绩及系名
3.select student.学号,课程名,成绩,系名 from student,kc,cj,xi where student.学号=cj.学号 and kc.课程编号=cj.课程编号 and student.系编号=xi.系编号 and cj.学号 =student.学号 查看所有学生的学号的每门课的成绩及系名
4.Select count()as 学生数 from student ,xi where student.系编号=xi.系编号and xi.系名=’物理系’
查看物理系的学生数
5.Select student.姓名,avg(cj.成绩)as平均成绩 from student, cj where student.学号=cj.学号
查看所有学生的平均成绩