2022年sql面试题 3.pdf
《2022年sql面试题 3.pdf》由会员分享,可在线阅读,更多相关《2022年sql面试题 3.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、d snamesmoneysprovince1 zhangsan 2098A2 lisi3000B3 wangwu6789C4 liumazi4587C5 dongjiu3298B6 shiga4567Aid: 合同 idsname:姓名smoney : 业绩sprovince: 地区第一道:显示出业绩 大于同一地区平均值的合同 id姓名 地区 业绩第二道:把同一地区的平均业绩地区 插入到新表中(新表只包含两个字段即:平均业绩地区)请写出 sql 语句1:selectA.*from testAwhere A.smoney (select avg(B.smoney)from test Bwher
2、e B.sprovince = B.sprovince)第二道:把同一地区的平均业绩地区 插入到新表中(新表只包含两个字段即:平均业绩 地区) 2.题目中要求是向新表中插入,所以这个表是存在的。不防取名新表名为newsell,字段 “ 平均业绩地区 ” 为“smoney,sprovince ”.insert intonewsell (smoney,sprovince)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - selecta
3、vg(smoney)avgmoney,sprovincefrom sell group by sprovince;select* from record where substring(id,1,4)=2398试题说这条语句效率很低,试修改成效率高的语句, select* from record where id like 2398%这条语句应该效率更高一些,看看大家还有没有更好的办法?一道 SQL题, 比较简单table:city_infoidprovincecityarea population数据大家自己加吧1. 找出大于 1000 平方公里且人口在1000W以上省份2. 找出城市名重复
4、的记录3. 更新城市名重复的记录area 为 530,population为 5301.select* from city_infoas c where c.area1000 and c.population10002.selectcityfrom city_infogroup by cityhaving (count(*)13.update city_infoset area=530 and population=530where cityin (selectcityfrom city_infogroup by cityhaving (count(*)1)昨天去滨江的一个公司面试,遇到一个数
5、据库的题目,总结下题目是这样的:Java 代码1. name score2. 小明胜3. 小明胜4. 小李负5. 小李负名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - 6. 小明负7. 小李胜8. 小李胜要求结果是:Java 代码1. 姓名胜负2. 小明213. 小李22回来写了下, 也不是很难,但当时写的确实不准确,大概有个思路,但还是错了正确的写法应该是:Java 代码1. 1.selectname姓名,sum(decode
6、(score,胜, 1)胜,2. sum(decode(score,负, 1)负 from ttgroup by name3. 2.selectt.name 姓名,t.c_1胜,a.c_f负 from4. (selectdistincttt.name,b.c_1from tt5.leftjoin(selectname,count( 1) as c_1 from ttwhere score= 胜group by name) b on tt.name= b.name ) t6.leftjoin(selectname,count( 1) as c_f from ttwhere score= 负gro
7、up by name) a on t.name=a.name7. 3.sqlserver 的写法8. selectname,sum(case when score= 胜then 1 else0 end) 胜,sum(case when score= 负then 1 else0 end) 负 from ttgroup by nameoracle 的呀,晓得了。mysql 有像是的: if()博主第一题构思很巧妙Java 代码1. selectname,sum(if(score=fu,1, 0)fu,sum(if(score=sheng,1, 0) sheng2. from score3. gro
8、up by name;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - 目前在职场中很难找到非常合格的数据库开发人员。有人说: “SQL 开发是一门语言,它很容易学,但是很难掌握。 ”在面试应聘的SQL Server数据库开发人员时,我运用了一套标准的基准技术问题。下面这些问题是我觉得能够真正有助于淘汰不合格应聘者的问题。它们按照从易到难的顺序排列。当你问到关于主键和外键的问题时, 后面的问题都十分有难度,因为答案可能会更难解释和
9、说明,尤其是在面试的情形下。你能向我简要叙述一下SQL Server2000 中使用的一些 数据库对象 吗?你希望听到的答案包括这样一些对象:表格 、视图 、用户定义的函数 ,以及 存储过程 ;如果他们还能够提到像 触发器 这样的对象就更好了。 如果应聘者不能回答这个基本的问题,那么这不是一个好兆头。NULL 是什么意思 ?NULL( 空 )这个值是数据库世界里一个非常难缠的东西,所以有不少应聘者会在这个问题上跌跟头您也不要觉得意外。NULL 这个值表示UNKNOWN (未知):它不表示 “ ”(空字符串 )。假设您的 SQL Server 数据库里有ANSI_NULLS ,当然在默认情况下会
10、有,对NULL 这个值的任何比较都会生产一个NULL 值。您不能把任何值与一个UNKNOWN 值进行比较,并在逻辑上希望获得一个答案。您必须使用IS NULL操作符。什么是索引 ?SQLServer2000 里有什么类型的索引 ?任何有经验的数据库开发人员都应该能够很轻易地回答这个问题。一些经验不太多的开发人员能够回答这个问题,但是有些地方会说不清楚。简单地说, 索引是一个数据结构 ,用来快速访问数据库表格或者视图里的数据。在 SQL Server里,它们有两种形式:聚集索引 和非聚集索引 。聚集索引在索引的叶级保存数据。这意味着不论聚集索引里有表格的哪个(或哪些 )字段,这些字段都会按顺序被
11、保存在表格。由于存在这种排序,所以每个表格只会有一个聚集索引。非聚集索引在索引的叶级有一个行标识符。这个行标识符是一个指向磁盘上数据的指针。它允许每个表格有多个非聚集索引。什么是主键 ?什么是外键 ?主键是表格里的 (一个或多个 )字段,只用来定义表格里的行;主键里的值总是唯一的。外键是一个用来建立两个表格之间关系的约束。这种关系一般都涉及一个表格里的主键字段与另外一个表格(尽管可能是同一个表格)里的一系列相连的字段。那么这些相连的字段就是外键。什么是触发器 ?SQL Server2000 有什么不同类型的触发器?让未来的数据库开发人员知道可用的触发器类型以及如何实现它们是非常有益的。名师资料
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年sql面试题 2022 sql 试题
限制150内