`

Sql常见面试题

 
阅读更多
Sql常见面试题

1.用一条SQL语句查询出每门课都大于80分的学生姓名

namekechengfenshu
张三语文81
张三数学75
李四语文76
李四数学90
王五语文81
王五数学100
王五英语<?XML:NAMESPACE PREFIX = ST1 /><chmetcnv tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="90" unitname="a">90<br></chmetcnv>
A:selectdistinctnamefromtablewherenamenotin(selectdistinctnamefromtablewherefenshu<=80)

2.
学生表如下:
自动编号学号姓名课程编号课程名称分数
12005001
张三0001数学69
22005002
李四0001数学89
32005001
张三0001数学69
删除除了自动编号不同,其他都相同的学生冗余信息

A:deletetablenamewhere
自动编号notin(selectmin(自动编号)fromtablenamegroupby学号,姓名,课程编号,课程名称,分数)

一个叫department的表,里面只有一个字段name,一共有4条纪录,分别是a,b,c,d,对应四个球对,现在四个球对进行比赛,用一条sql语句显示所有可能的比赛组合.
你先按你自己的想法做一下,看结果有我的这个简单吗?

答:selecta.name,b.name
fromteama,teamb
wherea.name<b.name

请用SQL语句实现:从TestDB数据表中查询出所有月份的发生额都比101科目相应月份的发生额高的科目。请注意:TestDB中有很多科目,都有112月份的发生额。
AccID
:科目代码,Occmonth:发生额月份,DebitOccur:发生额。
数据库名:JcyAudit,数据集:Select*fromTestDB

答:selecta.*
fromTestDBa
,(selectOccmonth,max(DebitOccur)Debit101ccurfromTestDBwhereAccID='101'groupbyOccmonth)b
wherea.Occmonth=b.Occmonthanda.DebitOccur>b.Debit101ccur

************************************************************************************

面试题:怎么把这样一个表儿
yearmonthamount
199111.1
199121.2
199131.3
199141.4
199212.1
199222.2
199232.3
199242.4
查成这样一个结果
yearm1m2m3m4
19911.11.21.31.4
19922.12.22.32.4

答案一、
selectyear,
(selectamountfromaaamwheremonth=1andm.year=aaa.year)asm1,
(selectamountfromaaamwheremonth=2andm.year=aaa.year)asm2,
(selectamountfromaaamwheremonth=3andm.year=aaa.year)asm3,
(selectamountfromaaamwheremonth=4andm.year=aaa.year)asm4
fromaaagroupbyyear

这个是ORACLE中做的:
select*from(selectname,yearb1,lead(year)over
(partitionbynameorderbyyear)b2,lead(m,2)over(partitionbynameorderbyyear)b3,rank()over(
partitionbynameorderbyyear)rkfromt)whererk=1;

************************************************************************************

精妙的SQL语句!
精妙SQL语句
作者:不详发文时间:2003.05.2910:55:05

说明:复制表(只复制结构,源表名:a新表名:b)

SQL:select*intobfromawhere1<>1

说明:拷贝表(拷贝数据,源表名:a目标表名:b)

SQL:insertintob(a,b,c)selectd,e,ffromb;

说明:显示文章、提交人和最后回复时间

SQL:selecta.title,a.username,b.adddatefromtablea,(selectmax(adddate)adddatefromtablewheretable.title=a.title)b

说明:外连接查询(表名1a表名2b)

SQL:selecta.a,a.b,a.c,b.c,b.d,b.ffromaLEFTOUTJOINbONa.a=b.c

说明:日程安排提前五分钟提醒

SQL:select*from
日程安排wheredatediff('minute',f开始时间,getdate())>5

说明:两张关联表,删除主表中已经在副表中没有的信息

SQL:

deletefrominfowherenotexists(select*frominfobzwhereinfo.infid=infobz.infid)

说明:--

SQL:

SELECTA.NUM,A.NAME,B.UPD_DATE,B.PREV_UPD_DATE

FROMTABLE1,

(SELECTX.NUM,X.UPD_DATE,Y.UPD_DATEPREV_UPD_DATE

FROM(SELECTNUM,UPD_DATE,INBOUND_QTY,STOCK_ONHAND

FROMTABLE2

WHERETO_CHAR(UPD_DATE,'YYYY/MM')=TO_CHAR(SYSDATE,'YYYY/MM'))X,

(SELECTNUM,UPD_DATE,STOCK_ONHAND

FROMTABLE2

WHERETO_CHAR(UPD_DATE,'YYYY/MM')=

TO_CHAR(TO_DATE(TO_CHAR(SYSDATE,'YYYY/MM')¦¦'/01','YYYY/MM/DD')-1,'YYYY/MM'))Y,

WHEREX.NUM=Y.NUM
+

ANDX.INBOUND_QTY+NVL(Y.STOCK_ONHAND,0)<>X.STOCK_ONHAND)B

WHEREA.NUM=B.NUM

说明:--

SQL:

select*fromstudentinfowherenotexists(select*fromstudentwherestudentinfo.id=student.id)and
系名称='"&strdepartmentname&"'and专业名称='"&strprofessionname&"'orderby性别,生源地,高考总成绩

说明:

从数据库中去一年的各单位电话费统计(电话费定额贺电化肥清单两个表来源)

SQL:

SELECTa.userper,a.tel,a.standfee,TO_CHAR(a.telfeedate,'yyyy')AStelyear,

SUM(decode(TO_CHAR(a.telfeedate,'mm'),'01',a.factration))ASJAN,

SUM(decode(TO_CHAR(a.telfeedate,'mm'),'02',a.factration))ASFRI,

SUM(decode(TO_CHAR(a.telfeedate,'mm'),'03',a.factration))ASMAR,

SUM(decode(TO_CHAR(a.telfeedate,'mm'),'04',a.factration))ASAPR,

SUM(decode(TO_CHAR(a.telfeedate,'mm'),'05',a.factration))ASMAY,

SUM(decode(TO_CHAR(a.telfeedate,'mm'),'06',a.factration))ASJUE,

SUM(decode(TO_CHAR(a.telfeedate,'mm'),'07',a.factration))ASJUL,

SUM(decode(TO_CHAR(a.telfeedate,'mm'),'08',a.factration))ASAGU,

SUM(decode(TO_CHAR(a.telfeedate,'mm'),'09',a.factration))ASSEP,

SUM(decode(TO_CHAR(a.telfeedate,'mm'),'10',a.factration))ASOCT,

SUM(decode(TO_CHAR(a.telfeedate,'mm'),'11',a.factration))ASNOV,

SUM(decode(TO_CHAR(a.telfeedate,'mm'),'12',a.factration))ASDEC

FROM(SELECTa.userper,a.tel,a.standfee,b.telfeedate,b.factration

FROMTELFEESTANDa,TELFEEb

WHEREa.tel=b.telfax)a

GROUPBYa.userper,a.tel,a.standfee,TO_CHAR(a.telfeedate,'yyyy')

说明:四表联查问题:

SQL:select*fromaleftinnerjoinbona.a=b.brightinnerjoincona.a=c.cinnerjoindona.a=d.dwhere.....

说明:得到表中最小的未使用的ID

SQL:

SELECT(CASEWHENEXISTS(SELECT*FROMHandlebWHEREb.HandleID=1)THENMIN(HandleID)+1ELSE1END)asHandleID

FROMHandle

WHERENOTHandleIDIN(SELECTa.HandleID-1FROMHandlea)

*******************************************************************************

有两个表AB,均有keyvalue两个字段,如果BkeyA中也有,就把Bvalue换为A中对应的value
这道题的SQL语句怎么写?

分享到:
评论

相关推荐

    sql常见面试题

    ### SQL常见面试题解析 #### 1. 实现从`TestDB`数据表中查询出所有月份的发生额都比101科目相应月份的发生额高的科目 这个问题的核心在于如何比较两个科目的发生额,并且确保所有月份都满足条件。假设`TestDB`表...

    SQL常见面试题

    ### SQL常见面试题知识点解析 #### 一、触发器的作用 **定义与功能:** 触发器是一种特殊类型的存储过程,其主要作用是在特定的数据库事件(如插入、更新或删除数据)发生时自动执行。触发器能够帮助维护数据的...

    Sql常见面试题(总结)

    ### SQL常见面试题总结 #### 一、ROWNUM 使用技巧 **题目背景:** ROWNUM 是一个伪列,用于返回表中行的编号。它常用于限制查询结果的行数,例如在分页查询中。 **示例代码:** ```sql -- 示例1:查询最高薪水的...

    2022年SQL常见面试题.doc

    SQL常见面试题解析 本文档总结了2022年SQL常见面试题,涵盖了SQL语句的基本知识点、数据库设计和高级操作等方面的题目。下面是对每个题目的详细解释和知识点总结: 一.SQL语句基础知识点 1. 用一条SQL语句查询出...

    2022年SQL常见面试题集.doc

    "2022年SQL常见面试题集" 本资源摘要信息涵盖了SQL常见面试题集,涉及学生表、课程表、成绩表、教师表等多个表的操作。这份面试题集涵盖了多种SQL语句,包括查询、插入、更新、删除等操作,对SQL语言的熟练度和问题...

    SQL常见面试题-程序员面试总结出来的宝贵经验

    SQL常见面试题 SQL 是 Structured Query Language 的缩写,作为一种标准的数据库语言,广泛应用于关系数据库管理系统中。在面试中, SQL 问题是必考题之一,本文总结了常见的 SQL 面试题,旨在帮助即将找工作的同学...

    SQL常见面试题.txt

    ### SQL常见面试题解析 #### 一、删除表中重复记录 1. **删除除了每组中 rowid 最大的记录外的所有记录** - **问题背景**:在实际业务场景中,可能会出现数据冗余的情况,即同一组数据中有多个重复项,为了确保...

    经典sql面试题

    ### 经典SQL面试题解析 #### 颇具挑战性的SQL面试题——删除冗余记录 **题目背景与分析** 在本题中,我们面对的是一个常见的问题:如何有效地处理数据库中的冗余数据。在实际应用中,由于各种原因(如数据导入...

    SQL常见的面试题集锦,非常详尽的题库,非常经典

    这个压缩包中的"SQL面试题"集合,无疑是一个全面且经典的SQL知识复习资源,适用于准备面试的求职者或希望提升SQL技能的从业者。 首先,我们要理解SQL的基本概念。SQL主要包括数据查询、数据更新、数据插入和数据...

    Sql常见面试题.docSql常见面试题.docSql常见面试题.docSql常见面试题.docSql常见面试题.doc

    以下是对这些常见面试题目的详细解析: 1. 查询每门课都大于80分的学生姓名: 这个问题可以通过使用子查询来解决。首先,找出所有分数低于或等于80的学生,然后从原始表中排除这些学生。SQL语句如下: ```sql ...

    sql面试题(适合软件测试)

    根据提供的文件内容,我们可以整理出以下几个SQL面试题及其解答,这些问题主要聚焦于SQL查询技巧、数据处理以及数据结构的理解。 ### 1. 查询每门课都大于80分的学生姓名 **题目描述**:给定一张成绩表,其中包含...

    sql常见面试题.docx

    以下是对给定面试题的详细解析,涵盖了多个SQL知识点: 1. 查询“001”课程比“002”课程成绩高的所有学生的学号: 这个题目考察了子查询和连接操作。首先,对“001”和“002”课程的成绩进行子查询,然后通过内...

    sql常见面试题.doc

    SQL 面试题知识点提炼 触发器的作用是强化约束,维护数据的完整性和一致性,可以跟踪数据库内的操作,从而不允许未经许可的更新和变化。触发器是一个特殊的存储过程,能够联级运算。 存储过程是一个预编译的 SQL ...

    2023年SQL常见面试题集.doc

    在面试中,SQL题目通常用来评估求职者的数据查询、数据操作和数据分析能力。以下是对给定文档中SQL试题的详细解释: 1. 查询“001”课程比“002”课程成绩高的所有学生学号: 这个问题需要联接`SC`表两次,一次...

    常用的SQL面试题(SQL经典试题)

    本资源涵盖了常见的 SQL 面试题,涵盖了学生、课程、成绩、教师等多个方面,涉及到多表查询、子查询、分组、排序等多种 SQL 技术。本文将对每个问题进行详细解析,并提供相应的 SQL 语句。 问题 1:查询“001”课程...

Global site tag (gtag.js) - Google Analytics