JAVA面试SQL习题集.docxVIP

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL习题集数据库拆表原则简单字段中的复合字段:解决方法:向上打通,或拆成两表完全依赖:知道a就能知道b,返过来就不一定.实现:将同一个主题的东西放在一起.主题可以是一个实体、名词、概念。无传递依赖。将传递依赖转为直接依赖。原因:减少插入冗余。减少增删异常。当出现一对多时不能横拆,一定拆成两个表,特别的固定范围可以横拆(签到管理)多对多必有中间表代码表,大量重复的或枚举型可以用代码表.能计算的字段不要数据定义语句DDLcreate alter drop数据控制语句DCLgrant deny revoke数据操纵语句DMLselect update insert delete一.SQL Server 2000Select 变化集锦查询所有字段(效率低)查询所有的老师select *from dbo.教师2.字段枚举查询教师的ID,及姓名两项select 教师_ID,教师名from dbo.教师3.字段取别名方法有二1)as可以省略select 教师名 as teacherfrom dbo.教师2)select teacher = 教师名from dbo.教师4.字段的可计算性1) 简单字段计算教师工资的10%select 工资*0.1from dbo.教师2)把一个检索结果作为查询字段本学校的师生比例select(select count(*)from dbo.教师)/1.0/(select count(*)from dbo.学生) f5?取检索结果的前几个select top 3 教师_IDfrom dbo.教师6 ?取检索结果总数的百分比select top 30 percent 教师_IDfrom dbo.教师7 去掉重复记录select distinct 性别_IDfrom dbo.教师8 在聚合统计函数中统计不重复指定字段select count(distinct 系_ID )from dbo.教师9 case when then else end在seelct中的应用从教师表中查询,将性别_id是1的显示为男,是2的显示为女select(casewhen 性别_ID=1 then 男when 性别_ID=2 then 女end)from dbo.教师横向查询男女人数selectsum(casewhen 性别_ID=1 then 1else 0end) as nan,sum(casewhen 性别_ID=2 then 1else 0end) as nvfrom dbo.教师10 可以重复列出表的的字段select *,*,*from 教师11 检索结果放常量select 教师名, 出生于,出生日期from dbo.教师-----------------------------------From变化集锦1.从一个表中检索select *from dbo.教师2 从一个检索结果中再检索即从临时表中检索select *from(select 教师_ID, 教师名, 出生日期, 系_ID, 性别_ID, 职称_IDfrom dbo.教师)lin –sqlserver2000中临时表通常要起别名where lin.教师_ID 43.从多表中检索,构成迪卡尔乘积(效率低)select dbo.教师.*,系名from dbo.教师,dbo.系where dbo.教师.系_ID=dbo.系.系_ID4 多表的联接查询1)左连接(尊重左边)select *from dbo.系left join dbo.教师on dbo.系.系_ID=dbo.教师.系_ID 2)右连接(尊重右边)select *from dbo.系right join dbo.教师on dbo.系.系_ID=dbo.教师.系_ID3)内连接(都不尊重,即两边都得有)下例为两个以上表的连接写法select *from dbo.系 inner join dbo.教师on dbo.系.系_ID=dbo.教师.系_ID inner join dbo.教师认课on dbo.教师.教师_ID=dbo.教师认课.教师_ID 4)全连接(都尊重)select *from dbo.系 full join dbo.教师on dbo.系.系_ID=dbo.教师.系_ID5. 给被检索表起别名注意:起了别名就一定用别名引用字段错误的select dbo.教师.教师名from dbo.教师 js正确的select js.教师名from dbo.教师jswhere集锦常规关系运算 、 =、 、 =、 !=、 、 =select 教师_IDfrom dbo.教师where 教师_ID1只检索表结构不要任何数据Select *From dbo.教师Whe

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档