百度
360搜索
搜狗搜索

sql语句练习,SQL练习题详细介绍

本文目录一览: SQL、关系代数练习

1.create table Student(sno varchar(12) primary key,
name varchar(12) not null,
Gender char(2) check(ssex='男' or ssex='女'),
Class varchar(12),
foreign key(Dno)references dept(dno),
)
2.select b.sno,b.name,b.gender from student a,student b where name='张强' and a.class=a.class
3.select sno,name from student where dno=(select dno from dept where dname='管理学院') and sno not in(select sno from study,course where study.cno=course.cno and subject='电子商务')
4.select sno,name from student,(select sno,avg(scort) from Study where cno=(select cno from course where subject='C语言') group by sno) t where t.sno = student.sno;
5.insert into dept(dno,dname,tele) values('06','物理系','84706600')
6.alter table course set credit=4 ,time=64 where course.subject='数据库原理'
就写这么多吧,可能问题不少只是给你个参考
一、
--1.建立学生表Student,其中以学号为主码,以系号为外码,姓名不可以为空值,性别取值为“男”或“女”
CREATE TABLE Student
(
Sno INT,
Name VARCHAR(20) NOT NULL,
Gender CHAR(2),
Class VARCHAR(20),
Major VARCHAR(20),
Dno CHAR(2)
CONSTRAINT pk_Student_Sno PRIMARY KEY(Sno),
CONSTRAINT fk_Student_Dno FOREIGN KEY(Dno) REFERENCES Dept(Dno),
CONSTRAINT chk_Student_Gender CHECK(Gender IN ('男', '女'))
)
--2. 检索与“王强”在同一个班级的学生的学号、姓名、性别
SELECT Sno, Name, Gender
FROM Student
WHERE Class = (SELECT Class FROM Student WHERE Name = '王强')
--3. 检索管理学院没有选修“电子商务”课程的学生的学号、姓名、班级、专业
SELECT S1.Sno, Name, Class, Major
FROM Student S1
JOIN Dept D
ON S1.Dno = D.Dno
WHERE Dname = '管理学院'
AND Sno NOT IN
( SELECT S2.Sno FROM Study S2
JOIN Course C
ON S2.Cno = C.Cno
WHERE Subject = '电子商务')
--4. 检索选修了“C语言”且C语言考试成绩高于这门课平均成绩的学生的学号、姓名
SELECT S1.Sno, Name
FROM Student S1
JOIN Study S2
ON S1.Sno = S2.Sno
JOIN Course C1
ON S2.Cno = C1.Cno
WHERE Subject = 'C语言'
AND Score > ( SELECT AVG(Score)
FROM Study S3
WHERE S3.Cno = S2.Cno )
--5. 在院系表(Dept)中插入一条记录,系号为06,系名为“物理系”,电话为8470660
INSERT INTO Demp VALUES('06', '物理系', '84706600')
--6. 将“数据库原理”课程的学时改为64,学分改为4
UPDATE Course
SET Time = 64,
Credit = 4
WHERE Subject = '数据库原理'
--7. 建立由班级、学号、姓名、课程号、课程名、学分、成绩七个数据项组成的视图
CREATE VIEW VW_SC
AS
SELECT Class, Sno, Name, Cno, Subject, Credit, Score
FROM Student S1
JOIN Study S2
ON S1.Sno = S2.Sno
JOIN Course C
ON S2.Cno = C.Cno
二、
2.

SQL练习题

一 学生 – 课程数据库
1 查询 7号课程没有考试成绩的学生学号
select sno from sc where cno=’7’ and grade is not null
2 查询 7号课程成绩在90分以上或60分以下的学生学号
select sno from sc where grade>90 or grade<60
3 查询课程名以“数据”两个字开头的所有课程的课程号和课程名。
Select cno,cname from c where cname like ‘数据%’
4 查询每个学生所有课程的平均成绩,输出学生学号、平均成绩
select sno,avg(grade) from sc group by sno
5 查询每门课程的选修人数,输出课程号、选修人数。
Select cno,count(*) from sc group by cno
6 查询选修 7号课程的学生的学号、姓名、性别。
Select s.sno, sname,ssex from s , sc where s.sno=sc.sno and cno = ‘7’
7 查询选修7号课程学生的平均年龄。
Select avg(sage) from s , sc where s.sno=sc.sno and cno = ‘7’
8 查询由30名以上学生选修的课程号。
Select sno from sc group by cno having count(*)>30
9 查询至今没有考试不及格的学生学号
a: select sno from s where sno not in ( select sno from sc where grade<60 )
b: select sno from sc group by sno having min(grade)>=60

1 找出选修课程号为 C2 的学生学号与成绩。
Select sno,grade from sc where cno=’C2’
2 找出选修课程号为C4 的学生学号与姓名。
Select s.sno , sname from s,sc where s.sno=sc.sno and cno=’C4’
3 找出选修课程名为 Maths 的学生学号与姓名。
Select s.sno ,sname from s,sc,c
where s.sno=sc.sno and c.cno=sc.cno and cname = ‘Maths’
4找出选修课程号为C2或C4 的学生学号。
Select distinct sno from sc where cno in (‘C2’,’C4’)
或: Select distinct sno from sc where cno=’C2’ or cno =’C4’
5找出选修课程号为C2和C4 的学生学号。
Select sno from sc where cno =’C2’ and sno in (
select sno from sc where cno = ‘C4’ )
6 找出不学C2课程的学生姓名和年龄
select sname , sage from s where sno not in ( select sno from sc where cno=’C2’ )
或:
select sname , sage from s where not exists ( select * from sc where sc.sno=s.sno and cno=’C2’ )
7 找出选修了数据库课程的所有学生姓名。(与3同)
Select s.sno ,sname from s,sc,c
where s.sno=sc.sno and c.cno=sc.cno and cname = ‘数据库’
8 找出数据库课程不及格的女生姓名
嵌套:
select sname from s where ssex = ‘女’ and sno in ( select sno from sc where grade<60 and cno in ( select cno from c where cname=’数据库’) )
连接:
Select sname from s,sc,c
where s.sno=sc.sno and c.cno=sc.cno and ssex=’女’ and cname = ‘数据库’ and grade<60
9 找出各门课程的平均成绩,输出课程名和平均成绩
select cname , avg(grade) from sc , c where c.cno =sc.cno group by sc.cno
10找出各个学生的平均成绩,输出学生姓名和平均成绩
select sname , avg(grade) from s , sc where s.sno=sc.sno group by sc.sno
11 找出至少有30个学生选修的课程名
select cname from c where cno in ( select cno from sc group by cno having count(*)>=30 )
12 找出选修了不少于3门课程的学生姓名。
Select sname from s where sno in ( select sno from sc group by sno having count(*)>=3)
13 找出各门课程的成绩均不低于90分的学生姓名。
Select sname from s where sno not in ( select sno from sc where grade<90)
14* 找出数据库课程成绩不低于该门课程平均分的学生姓名。
Select sname from s where sno in (
Select sno from sc , c where sc.cno=c.cno and cname=’数据库’ and
Grade > (Select avg(grade) from sc , c where sc.cno=c.cno and cname=’数据库’ ) )
15 找出各个系科男女学生的平均年龄和人数。
Select sdept,ssex , avg(sage) , count(*) from s
Group by sdept , ssex
16 找出计算机系(JSJ)课程平均分最高的学生学号和姓名。
Select sc.sno , sname from s, sc where s.sno=sc.sno and sdept=’JSJ’
Group by sc.sno Having avg(grade) =
( Select top 1 avg(grade) from sc, s where s.sno=sc.sno and sdept=’JSJ’
group by sc.sno order by avg(grade) DESC )
三 客户 – 商品数据库中包括3按各表:KH,FP,YWY
1 查询工资在 1000 到3000 元之间的男性业务员的姓名和办公室编号。
Select Yname , Ono from YWY where salary between 1000 and 3000 and Ysex=’男’
2 查询各个办公室的业务员人数,输出办公室编号和对应的人数。
Select Ono , count(*) from YWY group by Ono
3 查询每个客户在2002年5月购买的总金额,输出客户号和相应的总金额。
Select Kno,sum(Fmoney) from FP where fdate between ‘2002.5.1’ and ‘2002.5.31’
Group by Kno
4 查询2002年5月购买次数超过5次的所有客户号,且按客户号升序排序。
Select Kno from FP where fdate between ‘2002.5.1’ and ‘2002.5.31’
Group by Kno having count(*)>5
Order by Kno ASC
5 查询各办公室男性和女性业务员的平均工资。
Select Ono,Ysex ,avg(salary) from YWY group by Ono , Ysex
6 查询2002年5月曾经在王海亮业务员手中购买过商品的客户号、客户姓名、联系电话。
Select Kno,Kname,phone from KH where Kno in (
Select kno from FP where fdate between ‘2002.5.1’ and ‘2002.5.31’ and
Yno=(select Yno from YWY where Yname = ‘王海亮’ )
7 查询所有工资比1538号业务员高的业务员的编号、姓名、工资。
Select yno ,Yname, salary from YWY where salary >
( Select salary from YWY where Yno=’1538’ )
8 查询所有与1538号业务员在同一个办公室的其他业务员的编号、姓名。
Select Yno , Yname from YWY where Yno<>’1538’ and Ono in (
Select Ono from YWY where Yno=’1538’ )
9 查询销售总金额最高的业务员的编号。
Select Yno from FP Group By Yno Having sum(Fmoney) =
(Select top 1 sum(Fmoney) from FP group by Yno ORDER BY sum(Fmoney) DESC)
10 查询所有业务员的编号、姓名、工资以及工资比他高的其他业务员的平均工资。
利用自身连接
Select y1.Yno ,y1.Yname ,y1.salary , avg( y2. salary) from YWY y1 , YWY y2
Where y1.Yno<>y2.Yno and y1.salary < y2.salary
Group by y1.Yno
Sno salary sno salary
1 100 1 100
2 120 2 120
3 90 3 90
4 110 4 110
四 某中学数据库中由一张表:
学生选课表:由板及代码、班内学号、姓名、科目、成绩五个属性组成,关系模式为
SC(BJDM,BNXH,XSXM,KM,CJ) ,其中(BJDM,BNXH)为主码。
说明:每个学生每门科目存放一个记录,科目有“语文”、“数学”、“外语”三门。
1 找出每个班级的班级代码、学生人数、平均成绩。
Select BJDM,count(*) ,avg(CJ) from SC group by BJDM
2 找出每个学生的班级代码、学生姓名、考试科目数、总成绩。
Select BJDM,XSXM,count(*) , sum(CJ) from SC
Group by BNXH
3 输出一张表格,每位学生对应一条记录,包括:班级代码、姓名、语文成绩、数学成绩、外语成绩。
方法一:利用视图
create view v1 (bjdm,xsxm, yw,sx,wy ) AS
select bjdm , xsxm , cj , 0,0 from sc where km=’语文’
union
select bjdm , xsxm , 0 , cj,0 from sc where km=’数学’
union
select bjdm , xsxm , 0,0,cj from sc where km=’外语’
select bjdm, xsxm , sum(yw) as 语文, sum(sx) as 数学, sum(wy) as 外语 from v1 group by bjdm, xsxm
方法二:自身连接
select a.bjdm,a.xsxm , a.km,a.cj , b.km,b.cj , c.km,c.cj from sc a , sc b , sc c
where a.bjdm=b.bjdm and a.bnxh= b.bnxh and b.bjdm=c.bjdm and b.bnxh= c.bnxh
and a.km=’语文’ and b.km=’数学’ and c.km=’外语’
方法三:利用存储过程(略)
4 输出一张表格:由成绩低于60分的每位学生对应一条记录,包括字段:班级代码、姓名、最低成绩。
Select bjdm,xsxm ,min(CJ) from sc where grade<60 group by bjdm,xsxm
5输出一张表格:由成绩低于60分的每位学生对应一条记录,包括字段:班级代码、姓名、最高成绩、平均成绩。
得到平均成绩:create view V1 (bjdm,bnxh ,avg_cj) AS
select bjdm,bnxh ,avg(cj) from sc where bjdm , bnxh
select sc.bjdm,sc.xsxm ,max(cj) , avg_cj from sc , V1
where sc.bjdm=v1.bjdm and sc.bnxh=V1.bnxh and cj<60
group by sc.bjdm,sc.xsxm
6输出一张表格:所有成绩不低于60分的每位学生对应一条记录,包括字段:班级代码、姓名、平均成绩。
select bjdm, xsxm , avg(cj) from sc
where sno not in ( select sno from sc where grade<60)
group by bjdm, xsxm
7输出一张表格:每一位学生对应一条记录,包括字段:班级代码、姓名、去掉一个最低分后的平均成绩。
方法一:
得到每个学生的最低分:
create view V1 (bjdm,bnxh ,min_cj) as
select bjdm,bnxh,min(cj) from sc group by bjdm,bnxh
select sc.bjdm,sc.xsxm , avg(cj) from sc , v1
where sc.bjdm=v1.bjdm and sc.bnxh=v1.bnxh and sc.cj <> v1.min_cj
group by bjdm,bnxh
方法二:
select sc.bjdm,sc.xsxm , ( sum(cj) – min(cj) ) / count(*) from sc
group by bjdm , bnxh
8输出一张表格:每门科目对应一条记录,包括字段:科目、去掉一个最低分后的平均成绩。
方法一:
得到每门课的最低分:
create view V1 ( km, min_cj) as
select km,min(cj) from sc group by km
select sc.km , avg(cj) from sc , v1
where sc.km=v1.km and sc.cj <> v1.min_cj
group by sc.km
方法二:
select km , (sum( cj) – min(cj) )/count(*) from sc
group by km
补充9:输出表格:每门科目对应一条记录,包括字段:科目、去掉一个最低分和最高分后的平均成绩。
select km , (sum( cj) – min(cj) – max(cj) )/count(*) from sc
group by km
五 数据库存放着某高校1990年以来英语四、六级的考试情况,且规定:
1 英语四、六级考试每年分别在6月和12月举行二次;
2 四级没有通过的学生不能报考六级;
3 某一级的考试只要没有通过可以反复参加考试;
4 某一级的考试一旦通过就不能再报考同级的考试;
5 允许报了名但不参加考试。
该数据库中有二张表,相应的关系模式如下:
学生表:S(Sno, Sname, Ssex, Sage, Sdept),其中Sno为主码。
考试表:E(Sno, Year, Month, Level, Grade),学号、年、月、级别、成绩。
其中(Sno, Year, Month)为主码。
1. 找出各次四级和六级考试的参考人数和平均成绩(报了名但没有参加考试的不作统计)
select year , month,level ,count(*) , avg(grade)
group by year,month , level
2. 找出各次四级考试中平均分最高的系科(报了名但没有参加考试的不作统计)。
A: Select sdept from s , e where s.sno=e.sno
Where level=4
Group by sdept
Having avg(grade)>=ALL(
Select avg(grade) from s , e where s.sno=e.sno where level=4 Group by sdept )
B: Select top 1 sdept from s , e where s.sno=e.sno
Where level=4
Group by sdept
Order by (avg(grade) desc
3. 找出已经通过英语六级考试的学生的学号、姓名和性别(用连接方法做)
select s.sno,sname,ssex from s,e
where s.sno=e.sno and level=6 and grade>=60
4. 找出在同一年中四、六级考试都参加了的学生的学号
1) select sno from E
where (level=4 and grade>=60) or level=6
group by year having count(*)>=2
2) select sno from E X where level=4 and grade>=60 and exists (
select * from E Y where Y.sno=X.sno and year=X.year and level=6 )
5. 找出只参加一次考试就通过了英语六级考试的学生的学号
select sno from E
where level=6
group by sno
having count(*)=1 错,想想为何?
1) select sno from E
where level=6
group by sno
having count(*)=1 and max(grade)>=60
2) select sno from E where level=6 and grade>=60 and sno in (
select sno from E where level=6 group by sno having count(*)=1)
6. 找出至今没有通过英语四级考试的学生的学号(应包括至今还没有参加过考试或者是参加了但还没有通过两种)
select sno from E where level=4
group by sno
having max(grade)<60
Union
Select sno from s where sno not in( select sno from E)
7. 找出英语六级考试中合格人数最少的考试年份和月份(有并列的都要列出,用一句SQL语句)。
Select year , month From E
Where level = 6 and grade>=60
Group by year , month
Having count(*) <=all
(Select count(*) from E where level=6 and grade>=60 group by year , month )
我是从“上海全鼎软件学院”毕业的————————

阅读更多 >>>  sql100个基础知识,OraclePLSQL基础知识及其相关概念

SQL语句的基本题

1.俩表关联查询用 INNER JOIN / LEFT JOIN /FULL JOIN
比如 表 某大学 有表XXX 内容为 专业 和 学生ID
另有表ZZZ 内容为 学生ID 和 学生名字
那么像查询出 计算机专业 的学生名字
select B.专业,A.学生名字 FROM ZZZ A
INNER JOIN XXX B ON A.学生ID = B.学生ID
WHERE B.专业 = '计算机'
2.模糊查询 用 like 内容中 用% 来查询
比如 某表AAA 里 有 ZZ字段 内容有 (计算机学院),(计算机科学与技术),(计算机软件)。。。。。。
那么如果想把所有 ZZ字段有 '计算机'的 查询出来 :
select zz from AAA where zz like '计算机%'
如果想把所有 ZZ字段有 '算机'的 查询出来 :
select zz from AAA where zz like '%算机%'
select A.字段,B.字段 from 表1 as A left join 表2 as B on A.字段=B.字段
on 后面为2个表联系的字段
模糊查询就用 LIKE就可以了,如
select * from employee where empname like'%刘%' 查出来的就是empname里包含'刘' 的记录
两表关联查询方法一:
select a.id,b.name from a_table a,b_table b where a.id=b.id;
两表关联查询方法二:
select a.id from a_table a inner join b_table on a.id=b.id;
模糊查询:
假设要查询NAME列中的王
select name,sex from table where name like '%王%';
%王%--意思是用%匹配王前后的所有字符,例如 小王李,这样可以匹配;
select name,sex from table where name like '_王_';
'_王_'--意思是用_匹配王前后各一个字符;
SQL的关联其实有多种方式,常用的是用关键字join,语法为:
"SELECT ... FROM table a JOIN table b ON a.column = b.column"
常用的关联方式有inner join (交集), left join (同左表), right join (同右表), cross join (并集)。
例如:
SELECT * FROM employee INNER JOIN department ON employee.DepartmentID = department.DepartmentID;
SQL模糊查询的语法为
“SELECT column FROM table WHERE column LIKE 'pattern';”。
SQL提供了四种匹配模式:
1. % 表示任意0个或多个字符。如下语句:
SELECT * FROM user WHERE name LIKE 'a%';
将会把a打头的名字(name)全找出来;

2. _ 表示任意单个字符。语句:
SELECT * FROM user WHERE name LIKE 'a_';
将会把a打头的两个字母的名字(name)全找出来,如a1,a2...;

3. [ ] 表示括号内所列字符中的一个。语句:
SELECT * FROM user WHERE name LIKE '[abc]1';
将找出“a1”、“b1”、“c1”(而不是“abc1”);

如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-z”,所以,本例可改写为:
SELECT * FROM user WHERE name LIKE '[a-c]1';

4. [^] 表示不在括号所列之内的单个字符。语句:
SELECT * FROM user WHERE name LIKE '[^abc]1';
将找出“d1”、“e1”、“f1”等;
如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-z”,所以,本例可改写为:
SELECT * FROM user WHERE name LIKE '[^a-c]1';

sql语句相关测试

sql语句相关测试
   篇一:SQL语句测试
  1、(10分)要求:
  选择受理时间在2008-5-1 到 2008-6-1之间的所有申请人姓氏为“刘”的数据,并把“新受理编号”列表示成当前机器时间的年月和原受理编号年月后的数值组合
  格式如下:
  受理编号,新受理编号,受理时间, 申请人
  200801112 201008112 2008-01-13刘XX
  需要的表
  I_Optinst 业务实例表
  REGDATE(受理日期)
  Regnum(受理编号)
  Proposer(申请人)
  解答:select Regnum as 受理编号, as 新受理编号,REGDATE as 受理时间,Proposer as申请人 from Optinst 2、(15分)要求:
  前提:只统计业务小类“存量房买卖”
  ①按照月份分12月列出2008年每个月份的月份对应月份的交易总面积
  ②按照月份分12月列出2008年每个月份的月份对应月份的交易均价(申报价格/建筑面积)
  格式
  年度月份 交易总面积 年度月份交易均价(元/平方米)
  2008-01 23232 2008-01 2323
  2008-02 23232008-02 232
  2008-03 232323 2008-03 7656
  2008-04 232323 2008-03 565
  2008-05 232323 2008-03 5656
  2008-06 232323 2008-03 565
  2008-07 232323 2008-03 67
  2008-08 232323 2008-03 676
  2008-09 232323 2008-03 6767
  2008-10 232323 2008-03 8686
  2008-11 232323 2008-03 867
  2008-12 232323 2008-03 454
  需要的表:
  Fc_room 房间表
  BAREA(建筑面积)
  I_Optinst业务实例表
  regdate(受理时间)
  fc_owner 产权表
  COSTVAL(申报价格)
  EVLVAL(评估价格)
  fc_owoom 房间明细表
  1.select regdate as年度月份,BAREA as 交易总面积 from Fc_room,Optinst where
  3、(20分)要求:
  ①:按照时间统计收费明细 统计格式如下
  受理编号缴费人收费日期 收费名称收费金额核费人收费人
  ②:按照时间汇总(2008年度)统计收费项目分类 统计格式如下
  收费名称 总金额
  需要的表:
  I_OptInst(业务实例表)
  Regnum 受理编号
  Proposer 申请人
  I_Charge(收费实例表)
  HEFEIMAN 核费人
  PAYEE 收款人
  CDATE 收费日期
  I_ChrDtl(收费实例明细表
  CNAME 收费名称
  MONEY 收费金额
  4、(15分)要求:用途是住宅并且建筑面积<=140>140 定义为 “非普通住宅”
  用途是商业并且建筑面积>140 定义为 “商业A级”
  其他情况定义为“非住宅”
  根据用途和面积列表出所有数据
  格式
  受理编号, 用途
  200406000386 普通住宅
  200406004631 非普通住宅
  200406004633 普通住宅
  200406004638 普通住宅
  200406004641 非住宅
  200501000004 普通住宅
  200406004568 非住宅
  200406005677 商业A级
  表:
  fc_room
  barea 建筑面积
  BUse 用途
  i_optinst
  regnum 受理编号
  5、(30分)工作量统计
  ① 选择出以下格式的数据;并创建视图名称为view_AAAA
  业务小类业务实例 交易价格建筑面积 登记时间
  1 存量房买卖 14100 19400.0029.98 2005-11-10 11:32:50 2 新建商品房 15041 229530.00 124.07 2005-11-21 08:59:36 3 新建商品房 15043 177363.00 101.35 2005-11-21 09:15:59 4 新建商品房 13046 71130.0023.71 2005-11-02 10:15:37 5 新建商品房 11280 148563.00 87.39 2005-10-11 09:50:48 6 新建商品房 11353 267369.00 116.04 2005-10-11 15:34:53 7 房改售房 2689 35.22 2004-06-17 08:43:00 8 产权人名称变更 11701 724.18 2005-10-17 10:05:20 9 新建商品房 7206 158257.00 88.69 2005-09-16 14:50:57 10 存量房买卖 (转 载于:wWw.cnboThwiN.cOM 博 威范文 网: sql语句测试 )10100 103.07 2005-08-31 20:27:06 11 存量房买卖 12980 51500.0046.66 2005-11-01 14:41:32 12 新建商品房 13000 136782.00 80.46 2005-11-01 15:37:05 13 新建商品房 16946 300844.00 146.33 2005-12-15 14:15:07 14 存量房买卖 10091 509.18 2005-08-31 19:19:25 ② 使用视图 view_AAAA 当做表 选择出如下样式数据
  业务小类 件数合计金额 合计面积
  1 用途变更 1151.3
  2 转移登记 184.03
  3 新建商品房 31 263243643197.34
  4 房改售房 8252.43
  5 产权人名称变更 3 778.6
  6 单位产新建 311697.49
  7 赠与 1 28.48
  8 存量房买卖 24 4379004134.67
  9 判决仲裁 2 439.41
  10 继承遗赠 1 49.17
  11 换证 2 228.88
  12 新建房屋 17 928.91
  ③ 用水晶报表关联视图 view_AAAA 设计出类似于②的数据格式 需要的表
  FC_Owner
  EvlVal交易价格
  I_OptInst,
  SOName 业务小类
  fc_owoom,
  BArea 建筑面积
  FC_Room
  regdate 受理日期
   篇二:sql查询语句学习测试答案
  第一部分SQL查询语句的学习
  单表查询 1、--查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、客户ID和雇员ID等字段的值
  use eee
  SELECT 订购日期,订单ID,客户ID,
  雇员ID
  FROM 订单
  WHERE 订购日期BETWEEN '1996-7-1 00:00:00' AND '1996-7-15 23:59:59'
  2、--查询“Northwind”示例数据库中供应商的ID、公司名称、地区、城市和电话字段的值。条件是“地区等于华北”并且“联系人头衔等于销售代表”。
  use eee
  SELECT 供应商ID,公司名称,地区,城市,电话
  FROM 供应商
  WHERE 地区='华北' AND 联系人职务='销售代表'
  3、--查询“Northwind”示例数据库中供应商的ID、公司名称、地区、城市和电话字段的值。其中的一些供应商位于华东或华南地区,另外一些供应商所在的城市是天津 use eee
  SELECT 供应商ID,公司名称,地区,城市,电话
  FROM 供应商
  WHERE 地区IN('华东', '华南') OR 城市='天津'
  4、--查询“Northwind”示例数据库中位于“华东”或“华南”地区的供应商的ID、公司名称、地区、城市和电话字段的值
  use eee
  SELECT 供应商ID,公司名称,地区,城市,电话
  FROM 供应商
  WHERE 地区IN('华东', '华南')
  多表查询 5、--查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、相应订单的客户公司名称、负责订单的雇员的姓氏和名字等字段的值,并将查询结果按雇员的“姓氏”和“名字”字段的升序排列,“姓氏”和“名字”值相同的记录按“订单 ID”的降序排列
  use eee
  SELECT 订购日期,订单ID,公司名称,姓氏,名字
  FROM 订单,雇员,客户
  WHERE 订购日期BETWEEN '1996-7-1 00:00:00' AND '1996-7-15 23:59:59'
  AND 订单.雇员ID = 雇员.雇员ID
  AND 订单.客户ID = 客户.客户ID
  ORDER BY 姓氏,名字ASC,订单ID DESC
  6、--查询“10248”和“10254”号订单的订单ID、运货商的公司名称、订单上所订购的产品的名称
  use eee
  SELECT 订单.订单ID,公司名称,产品名称
  FROM 订单,运货商,产品,订单明细
  WHERE 订单.订单ID IN('10248','10254')
  AND 订单.订单ID = 订单明细.订单ID
  AND 订单明细.产品ID = 产品.产品ID
  AND
  订单.运货商= 运货商.运货商ID
  7、--查询“10248”和“10254”号订单的订单ID、订单上所订购的产品的名称、数量、单价和折扣
  use eee
  SELECT 订单.订单ID,产品名称,数量,订单明细.单价,折扣
  FROM 订单,产品,订单明细
  WHERE 订单.订单ID IN('10248','10254')
  AND 订单.订单ID = 订单明细.订单ID
  AND 订单明细.产品ID = 产品.产品ID
   篇三:sql语句练习题及答案
  一 在数据库 school 中建立student , sc, course 表。
  学生表、课程表、选课表属于数据库 School ,其各自的数据结构如下:
  学生 Student (Sno,Sname,Ssex,Sage,Sdept)
  课程表 course(Cno,Cname,Cpno,Ccredit)
  学生选课 SC(Sno,Cno,Grade)
  二 设定主码
  1 Student表的主码:sno2 Course表的主码:cno 3 Sc表的主码:sno,cno
  1写出使用 Create Table 语句创建表 student , sc, course 的SQL语句
  2
  3 删除student表中的元组
  4在数据库school中删除关系student
  5在student表添加属性sbirthdate 类型 datetime
  Delete
  1 删除所有 JSJ 系的男生 from Student where Sdept=’JSJ’ and Ssex=’男’; 2 删除“数据库原理”的课的选课纪录
   from SC where Cno in (select Cno fromCourse where Cname=’数据库原理’);
  Update
  1 修改 0001 学生的系科为: JSJ
  2 把陈小明的年龄加1岁,性别改为女。 2 修改李文庆的1001课程的成绩为 93 分 3 把“数据库原理”课的成绩减去1分
  Select 查询语句
  一 单表
  1查询年龄在19至21岁之间的女生的学号,姓名,年龄,按年龄从大到小排列。 2查询姓名中第2个字为“明”字的学生学号、性别。 3查询 1001课程没有成绩的学生学号、课程号
  4查询JSJ 、SX、WL 系的年龄大于25岁的学生学号,姓名,结果按系排列 5按10分制查询学生的sno,cno,10分制成绩
  (1-10分 为1 ,11-20分为2 ,30-39分为3,。。。90-100为10) 6查询 student 表中的学生共分布在那几个系中。(distinct) 7查询0001号学生1001,1002课程的成绩。
  二 统计
  1查询姓名中有“明”字的学生人数。 2计算‘JSJ’系的平均年龄及最大年龄。 3查询学生中姓名为张明、赵英的人数
  4计算每一门课的总分、平均分,最高分、最低分,按平均分由高到低排列 5 计算 1001,1002 课程的'平均分。
  6 查询平均分大于80分的学生学号及平均分 7 统计选修课程超过 2 门的学生学号
  8 统计有10位成绩大于85分以上的课程号。 9 统计平均分不及格的学生学号
  10 统计有大于两门课不及格的学生学号
  三 连接
  1查询 JSJ 系的学生选修的课程号
  2查询选修1002 课程的学生的学生姓名 (不用嵌套及嵌套2种方法) 3查询数据库原理不及格的学生学号及成绩
  4查询选修“数据库原理”课且成绩 80 以上的学生姓名(不用嵌套及嵌套2种方法) 5查询平均分不及格的学生的学号,姓名,平均分。 6查询女学生平均分高于75分的学生姓名。
  7查询男学生学号、姓名、课程号、成绩。(一门课程也没有选修的男学生也要列出,不能
  四 嵌套、相关及其他
  1 查询平均分不及格的学生人数
  2 查询没有选修1002 课程的学生的学生姓名
  3 查询平均分最高的学生学号及平均分 (2种方法 TOP , any , all) *4 查询没有选修1001,1002课程的学生姓名。
  5 查询1002课程第一名的学生学号(2种方法) 6 查询平均分前三名的学生学号
  7 查询 JSJ 系的学生与年龄不大于19岁的学生的差集
  8 查询1001号课程大于90分的学生学号、姓名及平均分大于85分的学生学号、姓名 9 查询每门课程成绩都高于该门课程平均分的学生学号 10 查询大于本系科平均年龄的学生姓名
  答案
  参考答案
  1 create table student (sno6), sname var8), ssex2), sagesmallint, sdept var15), primary key(sno));
  create table sc
  (sno6), cno 4),
  grade decimal(12,2), primary key(sno,cno));
   into student
  values( ’4001’,’赵茵’,’男’,20,’SX’)
   from student
   student
  alter table student add sbirthdate datetime
  1 select sno, sname, sage from student
  where ssex=’女’ and sage between 19 and 21order by sage desc; 2 select sno, ssexfrom student
  where sname like ’_明% ’ ; 3 select sno, cnofrom sc
  where grade is null and cno=’1001’ ; 4 select sno, sname from student
  where sdept in (’JSJ’,’SX’,’WL’) and sage>25 group by sdept;
  select sno, cno, grade/10.0+1 as levelfrom sc ;
  select distinct sdept from student ; select grade from sc
  where sno=’0001’ and (cno=’1001’ or cno=’1002’) ;
  select count(*) from student where sname like ’%明% ’ ; select avg(sage),max(sage) from student where sdept=’JSJ’ ; select cno,sum(grade),avg(grade),max(grade),min(grade) from sc group by cno
  order by avg(grade) desc ;
  select cno, avg(grade) from sc where cno in(‘1001’,’1002’) group by cno ;
  select sc.sno ,avg(grade) from scgroup by sc.sno
  having avg(grade)>80 ;
  select sno from sc group by sno having count(*)>2 ;
  select cno from sc where grade>85 group by cno having count(*)=10 ; select sno from sc group by sno having avg(grade)<60 ;
  select sno from sc where grade<60 group="" by="" sno="" having="">2 ;
  select cno from student,sc where student.sno=sc.sno and sdept=’JSJ’ ; a:select sname from student,sc where student.sno=sc.sno and cno=’1002’
  b:select sname from student where sno in (select sno from sc where cno=’1002’)
  select sno,grade from sc,course
  where sc.cno=course.cno and cname=’数据库原理’ and grade<60 a:select sname from student ,sc,course
  where student.sno=sc.sno and sc.cno=course.cno and grade>80 and cname=’ 数据库原理’ b:select sname from student where sno in (select sno from sc where grade>80 and cno in (select cno from course where cname=’ 数据库原理’)) select sno,sname,avg(grade) from sc,studentwhere student.sno=sc.snogroup by student.sno having avg(grade)<60
  a:select sname from student where ssex=’女’ and sno in(select sno from sc group by sno having avg(grade)>75)
  b:select sname from sc,student where student.sno=sc.sno and ssex=’女’group by student.sno having avg(grade)>75
  select student.sno,sname,cno,grade from student left join sc on student.sno=sc.sno and ssex=’男’
  select count(*) from student where sno in( select sno from sc group by sno havingavg(grade)<60)
  select sname from student where sno not in(select sno from sc where cno=’1002’)
  student
  0001 aaX 0002 bb
  0003 ccX Sc
  0001 1001 0001 1002 0002 1001 0003 1002
  Select sname from student where not exists(select* from sc where cno=’1002’ and sc.sno=student.sno)
  a:select top 1 sno,avg(grade) from sc group by sno order by avg(grade) desc b:select sno, avg(grade) from sc group by sno
  having avg(grade)=(select top 1 avg(grade) from scgroup by sno order by avg(grade) desc) c:select sno, avg(grade) from sc group by sno
  having avg(grade)>=all ( select avg(grade) from sc group by sno)
  select sname from student where not exists(
  select * from course where cno in(‘1001’,’1002’) and
  not exists(select * from sc where sno =student.sno and cno=course.cno) ) a:select top 1 sno from sc cno=’1002’ order by grade desc b:select sno from sc where cno=’1002’ and grade >=all (
;

阅读更多 >>>  sql基本语法,SQL数据库常用命令及语法举例

SQL的练习题,高手做下

1)SELECT * FROM 学生 WHERE 系编号=xxx(该号码是外语系的号码)
2)SELECT COUNT(DISTANCT(学号)) FROM 选课
3)SELECT COUNT(*) FROM 选课
4)SELECT * FROM 选课 LEFT JOIN 学生 ON 选课.id=学生.id WHERE 成绩<60
5) SELECT * FROM 教材 WHERE 价格> (SELECT AVG(价格)FROM 教材)
6) SELECT COUNT(*) FROM 选课 LEFT JOIN 学生 ON 选课.id=学生.id WHERE 成绩<60
7) SELECT * FROM 学生 WHERE 姓名 like ‘%红%' and 姓名 like ‘%玉%' AND 姓名 NOT like ‘张%'
8) SELECT * FROM 教材 WHERE 出版社='清华大学出版社' and 出版社='东南大学出版社出版'
9) SELECT 学生,SUM(成绩) AS 总分 FROM 学生
10)
11)SELECT * FROM 学生 LEFT JOIN 选课 ON 学生.学号= 选课.学号 WHERE(SELECT MAX(选课号 FROM 选课 )
12)
13) (李伟选得课是xx课,其课程号是xxxx)
SELECT 姓名 FROM 学生 LEFT JOIN 选课 ON 学生.学号=选课.学号 WHERE 课程号='xxxx' AND 学生.姓名 NOT LIKE='李伟'
14)SELECT COUNT(学号) AS 人数 FROM 选课
15)SELECT COUNT(课程号) FROM 选课
16) SELECT 姓名 FROM 学生 LEFT JOIN 选课 ON 学生.学号=选课.学号 WHERE 选课.成绩》=60
17) SELECT * FROM 学生 WHERE 年龄>=19 AND 年龄《=20 AND 性别=’男‘
18)假定从1992年到现在是20岁
SELECT 学号,姓名,性别,生日,系编号 FROM 学生 WHERE 年龄<=20 (查询出来需要的信息)
INSERT INTO Stu_1992 (S_id,S_name,sex,birth,Dept_id) VALUES ('学号','姓名','性别','生日','系编号')
19)SELECT 姓名 FROM 学生 LEFT JOIN 选课 ON 学生.学号=课程.学号 WHERE 选课.学号=(SELECT 学号 FROM 课程 WHERE 课程名='英语')
20)SELECT * FROM 教材 WHERE 书名='%英语%’
21)SELECT * FROM 教材 WHERE 书名='_语%' (如果是知道书名是3个 则写成 _语_)
22)今天没时间了。改天有时间在接着弄哇。不一定全对。
难都不难。可你要用15分换取28个题的答案么?
1分一题都没有...
答案:
1).select * from 学生 where 系编号 in (select 系编号 from 系 where 系名称='外语系')
2). select distinct 学号 into #kb01 from 选课 select cont(学号) from #kb01
3).select cont(学号) from 选课
4). select a.*,b.*,c.* from 选课 b join 学生 a on a.学号=b.学号 join 课程 c on b.课程号=c.课程号
where a.成绩<60
5). select a.书号,a.书名, a.*价格 from 教材 a where a.价格>(select avg(价格) from 教材)
6).select cont(学号) from 选课 where 成绩<60
7).select * from 学生 where substing(姓名,1,2)<>‘张’ and (姓名 like '%王%' or 姓名 like '%玉%')
8).select * from 教材 where 出版社 in ('清华大学出版社','东南大学出版社')
9).select a.* b.成绩 from 学生 a join (select 学号,sum(成绩) from 选课 group by 学号) b on a.学号=b.学号
13). select * from 学生 where 姓名<>'李伟' and 学号 in (select 学号 from 选课 where 课程号 in (select 课程号 from 选课 where 学号 in (select 学号 from 学生 where 姓名=‘刘伟’ )))
14).答案同第二题
15).select a.姓名,cont(b.课程) from 课程 b join 学生 a on a.学号=b.学号
16).select * from 学生 where 学号 not in (select 学号 from 选课 where 成绩<60)
17).select * from 学生 where 性别='男' and 生日 between '1993-01-01' and '1995-12-30'---这里有日期字段格式有关系
18).---------后面自己想,没有时间回答了

阅读更多 >>>  sql索引,在SQLServer中使用索引的技巧

SQL数据库练习题

1.A
2.D
3.
4.C
5.C
6.D
7.B
8.B
9.D
10.C
11.B
12.B
1. SQL Server 2000是典型的关系型数据库产品。 ( 1 )
2. 在一台计算机上可以同时运行多个版本的SQL Server。 ( 1 )
3. 在SQL Server中日志文件是维护数据库完整性的重要工具。 ( 0 )
4. 在定义数据表时,定义某列为标识列的关键字是Identity。 ( 1 )
5. 浮点数据类型的优点是能够存储范围非常大的数字,但容易发生误差。 ( 0 )
6. 数据库完整性的目的是为了防止错误信息输入和输出。 ( 0 )
7. 在Update语句中,一次可以更新多个表。 ( 0)
8. 尽量使用Select * ,可以加快查询速度。 ( 0 )
9. 在SQL Server 2000中表示注释可以用类似C语言的/*...*/和//。 ( 0 )
10. 在SQL Server中,RTRIM函数删除字符串右边的空白字符。 ( 1 )
11. 一个表只能有一个聚集索引(簇索引)。 ( 1 )
12. SQL查询语言中,如果没有指定排序方式,则默认是升序方式。 ( 1 )
13. 在SQL Server 2000中ntext类型的字段不能进行排序操作。 ( 0 )
14. 在SQL Server 2000中bit类型的字段不能建立索引。 ( 1 )
15. 在被定义为唯一索引的列上的数据不能有重复的值。 ( 1 )
16. 在被定义为唯一索引的列上的数据不允许空。 ( 0可以的但是只能有一个null值 )
17. 在SQL Server中,每张表都应该建立一个索引,以提高查询速度。 ( 0 )
18. 视图在SQL Server中是一张虚拟表。 ( 1 )
19. 当一个视图由2个以上基本表构成时,不能进行删除视图中的数据。 ( 0 )
20. 在SQL Server中,触发器是一种特殊的存储过程。 ( 1 )
21. 由于存储过程是解释执行,所以每次执行时都要检查是否有语法错误。 ( 0 )
22. 可以在用户正在使用的数据库上执行数据库恢复操作。 ( 0 )
1表示正确

想学习SQL语言,该用什么软件来练习SQL语句

微软的sql server,或者navicat premium
电脑上装个Mysql。然后再装Navicat for MySQL
或者SQLyog这个csdn上也有汉化的
使用Navicat作为辅助,对于学习SQL语句将会大有裨益。Navicat 里面的SQL 创建工具,可视觉化 SQL ,创建和编辑查询或视图,不必担心语法和正确命令的用法。选择需要在表中执行的操作,自动编写 SQL 语句。
自动完成代码:使用自动完成代码功能,能快速地在 SQL 编辑器中创建 SQL 语句。无论选择数据库对象的属性或 SQL 关键字,只需从下拉列表中选择。Navicat软件下载地址可参考Navicat官网。

SQL练习14、雇员中谁的工资第二高(考虑并列第一的情况,如何处理)。

select * from emp where sal=(select max(sal) from emp where sal<>(select max(sal) from emp));
思路是,先把最高的剔除掉,select max(sal) from emp,然后,再找剔除后的最高的select max(sal) from emp where sal<>(select max(sal) from emp),最后,查sal=第二高的就行。主要是思路要清晰。
(select ename ,sal from (select * from emp order by sal desc) where rownum<=2 order by sal) where rownum<=1;个人认为是这个 你的那种事属于子查询 要说也行 可第一个是行列的那种 只是建议
所给答案如果是第一高、第二高的工资人数都不止一人的话是不能解决问题的。
SELECT EMPNO,ENAME,SAL
FROM EMP
/
以下是我的思路,看似虽多,其实仔细琢磨,是很简单的。
SELECT EMPNO,ENAME,SAL
FROM (SELECT EMPNO,ENAME,SAL FROM EMP
WHERE SAL<(SELECT MAX(SAL) FROM EMP))
WHERE SAL>=ALL(SELECT SAL FROM EMP
WHERE SAL <(SELECT MAX(SAL) FROM EMP))
/
其实:解决问题的思路有很多,答案不唯一。数据库的优化就需要考虑这些问题了。
偶然看到了,说了几句,希望能帮到你!!!
SELECT sal,ename
FROM ( SELECT dense_rank()over (
ORDER BY sal DESC
) AS rank,sal,ename
FROM emp
)
WHERE rank > = 2
上面的好。他是先将金额按倒序排然后在查行号为二的那跳记录。你写的sql文有点问题的

sql 语句,实现检索出所有过期信息并删除

练习:配置一个客户端的网络服务名,登陆旁边同学的服务器,配置后测试连接
课件中的示例使用HR用户下的表进行编写。hr/hr
1. SELECT 语句的语法
SELECT *|{[DISTINCT] 列名|表达式 [别名][,...]}
FROM 表名;
练习:查询emp表中所有列的数据
SELECT * FROM emp;
练习:查询emp表中所有员工姓名和工资的信息
SELECT ename, sal FROM emp;
练习:查询emp表员工姓名和年薪情况
SELECT ename, sal * 12
FROM emp;
练习:查询emp表员工姓名和年薪情况(年薪考虑补助情况)
SELECT ename, (sal + comm) *12 FROM emp;
练习:查询emp表中员工在哪些部门中工作,列出部门编号
SELECT DISTINCT deptno FROM emp; --select子句中,只能出现一次distinct,放在所有列的最前面
列别名
SELECT ename, (sal + comm) *12 "Annual Salary" FROM emp;
SELECT ename 姓名, (sal + comm) *12 AS "Annual Salary" FROM emp;
连接字符串 '||',在oracle中,字符串常量是写在' '中, 'oracle'
输出:XX’s salary IS 000;
SELECT ename || '''s salary is '|| sal AS salary FROM emp;
思考题:
SELECT * FROM emp;
SELECT ename, empno...(emp表中所有列) FROM emp;
哪一个执行的效率要高一些。
--SQL&plus命令,仅对当前会话有效。
练习:查询emp表中工资大于1300的员工的信息(姓名,工资)
SELECT *|{[DISTINCT] 列名|表达式 [别名][,...]}
FROM 表名
[WHERE 条件];
SELECT ename, sal
FROM emp
WHERE sal > 1300;
练习:查询emp表中不在10部门中工作的员工信息
SELECT *
FROM emp
WHERE deptno <> 10;
练习:查询emp表中名字是king的员工信息
SELECT *
FROM emp
WHERE ename = 'KING'; --所有对象和关键字的名字不区分大小写
--但是,数据中存储的字符类型数据是严格区分大小写
练习:查询emp表中入职时间在1980年12月2日之后的员工信息 ‘’ “” ; '' "" ;
SELECT *
FROM emp
WHERE hiredate > '02-12月-1980';
ALTER SESSION SET nls_language = 'AMERICAN';
ALTER SESSION SET nls_language = 'SIMPLIFIED CHINESE';
SELECT *
FROM emp
WHERE hiredate > '02-Dec-1980'; --在英文环境中,月份要写英文缩写
AND OR
练习:查询emp 10部门中工资大于1300的员工信息
SELECT *
FROM emp
WHERE deptno = 10 AND sal > 1300;
练习:查询emp表中工资大于等于1300,小于等于2450的员工的信息
SELECT *
FROM emp
WHERE sal >= 1300 AND sal <= 2450;
练习:查询emp表中在10和20部门工作的员工信息
SELECT *
FROM emp
WHERE deptno = 10 OR deptno = 20;
练习:查询emp表中在10和20部门工作,并且工资大于1300的员工信息
SELECT *
FROM emp
WHERE (deptno = 10 OR deptno = 20) AND sal > 1300;
特殊运算符
1. 列名 BETWEEN 值1 AND 值2; --小的写前面,大的写后面
练习:查询emp表中工资大于等于1300,小于等于2450的员工的信息
SELECT * FROM emp WHERE sal BETWEEN 1300 AND 2450; --包括取值值范围的端点
2. 列名 IN (值1, 值2, 值3...)
练习:查询emp表中在10和20部门工作的员工信息
SELECT * FROM emp WHERE deptno IN (10, 20);
3. LIKE 对字符串做模糊匹配
%通配符:代表任意长度的字符串(包括0长度);
_通配符:仅代表一位长度的字符;
练习:查询员工姓名一个字符是‘K’的员工信息
SELECT * FROM emp WHERE ename LIKE 'K%';
练习:查询员工姓名第二个字符是M的员工信息
SELECT * FROM emp WHERE ename LIKE '_M%';
练习:查询员工姓名至少含有一个E的员工信息
SELECT * FROM emp WHERE ename LIKE '%E%';
练习:查询员工姓名第二个字符是O,长度是5个字符的员工信息
SELECT * FROM emp WHERE ename LIKE '_O___';
UPDATE emp SET job = 'M_' || job WHERE job = 'CLERK';
SELECT * FROM emp;
练习:查询员工工作以‘M_’开头的员工信息;
SELECT * FROM emp WHERE job LIKE 'M_%';
定义转义字符 ESCAPE '转义字符'
SELECT * FROM emp WHERE job LIKE 'M+_%' ESCAPE '+';
4. IS NULL
练习:查询emp表中没有补助的员工信息
SELECT * FROM emp WHERE comm = NULL;
SELECT * FROM emp WHERE comm IS NULL; -- 仅当null用is null或is not null判断的时候才会返回true或false,否则返回的都是null (null代表未知或不确定)
5. NOT 运算符
练习:查询emp表中工资不在1300到2450之间的员工的信息
SELECT * FROM emp WHERE sal NOT BETWEEN 1300 AND 2450;
-- sal < 1300 OR sal > 2450
练习:查询emp表中不在10和20部门工作的员工信息
SELECT * FROM emp WHERE deptno NOT IN (10, 20);
-- deptno <> 10 and deptno <> 20
练习:查询员工姓名一个字符不是‘K’的员工信息
SELECT * FROM emp WHERE ename NOT LIKE 'K%';
练习:查询emp表中有补助的员工信息
SELECT * FROM emp WHERE comm IS NOT NULL;
排序
ORDER BY 列名|表达式|列别名 [ASC]|DESC, 列名2 [ASC]|DESC,.... --order by总在最后面
练习:查询员工姓名和工资,按照工资进行降序排序
SELECT ename, sal FROM emp ORDER BY sal DESC;
练习:查询员工姓名和工资,部门编号,按照部门升序排序,工资降序排序
SELECT ename, sal, deptno FROM emp ORDER BY deptno, sal DESC;
练习:查询员工姓名和年薪(不考虑comm),按照年薪升序排序
SELECT ename, sal * 12 FROM emp ORDER BY sal * 12;
SELECT ename, sal * 12 annsal FROM emp ORDER BY annsal;
用列在select子句中出现的位置(序号)进行排序
SELECT ename, sal * 12 FROM emp ORDER BY 2; --不建议大家使用
delete from classAD where datadiff(d,EndTime,getdate())>=0
备注:d是精确到天,如果楼主要求精确到小时就用h替换,精确到秒就用s替换

网站数据信息

"sql语句练习,SQL练习题"浏览人数已经达到22次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:sql语句练习,SQL练习题的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!