当前位置:首页 » 编程语言 » sql基础例题
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql基础例题

发布时间: 2022-04-17 23:08:27

A. sql语句的基本题

两表关联查询方法一:
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
'_王_';
'_王_'--意思是用_匹配王前后各一个字符;

B. sql语句例题

1:
create table s(s# int primary key,sname varchar(20),age int,sex varchar(2);
2:
insert into s values('20070701','lilin',20,'女')
3:
select c#,cname from c where teacher='张老师';
4:select s#,sname from sc where age>23 and sex='男';
5:
select s# from s where(选修课程 in (select 选修课程 from c where tacher='liu考试'))

C. sql数据库基础题,作业求帮助

我有可能做的不对奥:
1)select, where , from
2)列 as 列标题, 列标题 = 列
3)
4)where,having,group By
5)
6)#, Tempdb

第3个和第5个真心不会, 我这干了两年.net了, 发现你这题当真恶心啊
出这题的人, 也是很专业的研究学术啊, 考试就应该考实际应用的啊, 弄这个题真心醉了.

D. SQL基础命令题

三、按要求写出以下各小题的SQL命令
1、使用UPDATE命令计算机每位学生的总成绩。
update xscj set count=fox+sx+english
2、使用SELECT命令查询所有男生的平均成绩。
select xh,count/3 as 平均成绩 from xscj where xh in( select xh from xs where xb='男')
3、使用INSERT命令向表XS插入一条记录,对应字段的值分别为:“090213”、“张三”、“男”、{^1989-09-01}、“共青团员”、120。
insert into xs values("090213","张三","男",{^1989-09-01},"共青团员",120)
4、使用SELECT命令对表XSCJ的总成绩字段进行升序排序。
select * from xscj order by count asc
5、使用SELECT命令对表XS按性别分组。
select * from xs group by xb
6、使用SELECT命令查询总成绩大于400分的学生的学号、姓名、性别以及总成绩,并将查询结果保存到数据表TEMP中。
select xh,xm,xb,count from xs,xscj where xs.xh=xscj.xh and count>400 into table temp
四、设XS表中已输入了若干条记录,请写出完成如下操作的VFP命令。
1、将表中第3至5条记录的出生日期(CSRQ)都增加三天
use xs
go 3
replace next 3 csrq with csrq+3
2、给表中最后5条记录中总学分低于30的记录加上删除标记
use xs
go reccount()-4
delete next 5 for zxf<30
3、以学号(XH)为关键字为表创建普通索引XH.CDX,并将其设为主控索引
use xs
index on xh tag xh of xh
set order to tag xh
4、用物理删除姓名为“刘燕”的记录
use xs
delete for xm='刘燕'
pack
5、给表中第3条记录后添加一条空白记录
use xs
go 3
insert blank
6、查看表中第3至8号记录的姓名、总学分
use xs
go 3
list next 6 fields xm,zxf

E. SQL的题目,最基础的~等~~

1. 从职工关系中检索所有工资值。
答:select 工资 from 职工表
2. 检索仓库关系中的所有记录
答:select * from 仓库表
3. 检索工资多于1230元的职工号
答:select 职工号 from 职工表 where 工资>1230
4.检索哪些仓库有工资多于1210元的职工。
答:select distinct 仓库号 from 职工表 where 工资>1210
5. 给出在仓库“wh1”或“wh2”工作,并且工资少于1250元的职工号。
答:select 职工号 from 职工表 where 工资<1250 ;
and (仓库号="wh1" or 仓库号="wh2")
注意:逻辑运算符的优先级从高到低依次为not、and、or。运算符的优先级:括号 算术运算 关系运算 逻辑运算.
说明:前面的几个例子在from之后只指定了一张表,也就是说这些检索只基于一张表。如果有where子句,系统首先根据指定的条件依次检验关系中的每条记录,然后选出满足条件的记录(相当于关系的选择操作),并显示select子句中指定属性的值(相当于关系的投影操作)。
6. 找出工资多于1230元的职工号和他们所在的城市。
答:select 职工表.职工号, 仓库表.城市 from 职工表,仓库表 ;
where 职工表.仓库号=仓库表.仓库号 and 工资>1230
7. 找出工作在面积大于400的仓库的职工号以及这些职工工作所在的城市。
答:select 职工表.职工号, 仓库表.城市, 仓库表.面积 ;
from 职工表,仓库表 where 职工表.仓库号=仓库表.仓库号 ;
and 仓库表.面积>400
说明:以上两题为简单的联接查询.
8. 哪些城市至少有一个仓库的职工工资为1250元
答:
方法一:
Select 仓库表.城市 from 职工表,仓库表 where 职工表.仓库号=仓库表.仓库号 and 职工表.工资=1250
方法二:
select 仓库号 from 职工表 where 工资=1250 into dbf abc.dbf
select 仓库表.城市 from 仓库表,abc where 仓库表.仓库号=abc.仓库号
方法三:
select 城市 from 仓库表 where 仓库号 in (select 仓库号 from 职工表 where 工资=1250)
说明: 这属于嵌套查询. 这类查询所要求的结果出自一个关系,但相关的条件却涉及多个关系.
可以看到,方法三的命令中含有两个select-from-where查询块,即内层查询块和外层查询块,内层查询块检索到的仓库值是wh1和wh2,这样就可以写出等价命令:
select 城市 from 仓库表 where 仓库号 in ("wh1","wh2")
或者
select 城市 from 仓库表 where 仓库号="wh1" or 仓库号="wh2"
9. 查询所有职工的工资都多于1210元的仓库的信息。
答:
方法一:
select 仓库号,min(工资) as 工资 from 职工表 group by 仓库号 into dbf 仓库min工资.dbf
select 仓库表.* from 仓库表,仓库min工资 where 仓库表.仓库号=仓库min工资.仓库号 and 仓库min工资.工资>1210
方法二:
select * from 仓库表 where 仓库表.仓库号 not in (select 仓库号 from 职工表 where 工资<=1210 ) and 仓库表.仓库号 in (select 仓库号 from 职工表)
(错误方法)
select * from 仓库表 where 仓库表.仓库号 not in (select 仓库号 from 职工表 where 工资<=1210 )
注意:上述检索结果错误,会将没有职工的仓库检索出来.如果要求排除那些还没有职工的仓库,检索要求可以叙述为:检索所有职工的工资都大于1210元的仓库的信息,并且该仓库至少要有一名职工.
(错误方法)
select * from 仓库表 where 仓库表.仓库号 in (select 仓库号 from 职工表 where 工资>1210 )
注意:上述查询结果错误。它会查出仓库号为wh1的信息,但wh1的职工工资并不都大于1210。
10. 找出和职工e4挣同样工资的所有职工。
答: Select 职工号 from 职工表 where 工资 in (select 工资 from 职工表 where 职工号="e4")
说明:7、9、10题都是基于多个关系的查询,这类查询所要求的结果出自一个关系,但相关的条件却涉及多个关系.我们称之为嵌套查询。嵌套查询优选含有两个select-from-where查询块的查询结构。
11. 检索出工资在1220元到1240元范围内的职工信息。
答:select * from 职工表 where 工资 between 1220 and 1240
说明: "工资 between 1220 and 1240"等价于"工资>=1220 and 工资<=1240"
如果要求查询工资不在1220元到1240元范围内的职工信息
说明: select * from 职工表 where 工资 not between 1220 and 1240
12. 从供应商关系中检索出全部公司的信息,不要工厂或其他供应商的信息。
Select * from 供应商表 where "公司" $ 供应商名
13. 找出不在北京的全部供应商信息。
Select * from 供应商表 where 地址!="北京"
或者
Select * from 供应商表 where not(地址="北京")
14. 按职工的工资值升序检索出全部职工信息。
答:select * from 职工表 order by 工资
如果需要将结果按降序排列,只要加上desc
select * from 职工表 order by 工资 desc
说明:使用SQL SELECT可以将查询结果排序,排序的短语是order by ,具体格式如下:
order by order_item [ASC|DESC] [,order_item [ASC|DESC]……]
15. 先按仓库号排序,再按工资排序并输出全部职工信息。
答:Select * from 职工表 order by 仓库号,工资
16. 找出供应商所在地的数目。
答:select count(distinct 地址) from 供应商表
注意:除非对表中的记录数进行计数,一般count函数应该使用distinct
比如: select count(*) from 供应商表
查询结果是供应商表中的记录数.
说明:可用于计算检索的函数有:count——计数 sum——求和
avg——计算平均值 max——求最大值 min——求最小值
17. 求支付的工资总数
答:select sum(工资) from 职工表
18. 求北京和上海的仓库职工的工资总和
答: select sum(工资) from 职工表,仓库表 where 职工表.仓库号=仓库表.仓库号 and (城市="北京" or 城市="上海")
方法二:
select sum(工资) from 职工表 where 仓库号 in (select 仓库号 from 仓库表 where 城市="北京" or 城市="上海")
19. 求所有职工的工资都多于1210元的仓库的平均面积
答:Select avg(面积) from 仓库表 where 仓库号 not in(select 仓库号 from 职工表 where 工资<=1210) and 仓库号 in(select 仓库号 from 职工表)
20. 求在wh2仓库工作的职工的最高工资值
答:select max(工资) from 职工表 where 仓库号="wh2"
21. 求每个仓库的职工的平均工资
答:select 仓库号,avg(工资) from 职工表 group by 仓库号
说明:可以利用group by 子句进行分组计算查询.group by短语的格式如下:group by groupcolumn[,groupcolumn……][having filtercondition]
可以按一列或多列分组,还可以用having 进一步限定分组的条件.
注意:where /group by等子句都不能放在from子句之前.
22. 求至少有两个职工的每个仓库的平均工资。
答: select 仓库号,count(*),avg(工资) from 职工表 group by 仓库号 having count(*)>=2
说明:having子句总是跟在group by 子句之后,不可以单独使用.having子句用于限定分组.
23. 找出尚未确定供应商的订购单
答:select * from 订购单表 where 供应商号 is null
24. 列出已经确定了供应商的订购单信息
答:select * from 订购单表 where 供应商号 is not null

F. SQL简单习题两道

1:select "书名","定价" from "图书馆"
where "定价" = (select top 1 "定价" from "图书馆" desc as '定价')
//就是要查出定价最高的价格,可以对定价排序,取到,这个你可以自己实践下,我忘了命令了,本机上没装SQL
2:就是要你查出 藏有 发行“书名=‘数据库系统基础’”的图书馆馆名
3:select CNAME,TEACHER from c where C# =
(select C# from SC where S# = '10001')

G. 数据库sql题目

答案为B
其实从语法就可以排除的:where字句中不能出现聚合函数所以AD排除;出现group by字句,则select字句中查询的列要么分组要么聚合,C选项中姓名列既没分组也没在聚合函数中。
下面说说思路:
想要查询只选修1门课的学生,可以先查出每个学生选了多少门课(按学生分组group by),然后挑选出选课数为1的(对分组后得到的结果进行筛选,having)
如果还有问题请追问。

H. 零基础SQL自学,题目解析

x.continent=y.continent

上面是同州份

x.NAME<>y.NAME

一个国家是其他国家的三倍以上,那么必须不能是同一个国家,上面的条件就是不是同一个国家

I. 急求SQL数据库练习题

楼上的--理论很多不太使用:ㄨinsert -增加语句用法 insert into(Name,Sec)values("张三","李四") --这个语句1.习题:插入学员信息 Name,Sex,Age,Address (地址可为null) 要有自动标识列。 2.实现一次插入多行。3.把原有表中的某个字段 移到新表中 提示:select <字段> into newtable from <原表> ㄨdelecte --删除语句delecte from <表> [where<条件>]例题:上表中 --删除 年龄是66和地址为null 信息 (年龄与地址自己添加) ㄨupdate--更新语句update set <条件> where[限制条件]例题:把年龄大于50岁的 更新为49岁 其余条件自己加 ㄨselect --查询语句select <字段1>,<字段2> from <表> where [条件]例题:从表1、表2中查找相同字段并且 把相同字段存放到新的表中这里子查询就不多说了。这些题很基础你试一试。