范文无忧网面试笔试面试回答

常见的sql面试题

09月19日 编辑 fanwen51.com

[英文面试常见的面试题]1.Tell me about yourself。 这是面试问题中的经典头道开胃菜,主要考察求职者的个性是否符合公司的企业文化,所以回答时要尽量贴近这个公司的情况来推销自己。比如这个公司属...+阅读

常见的sql面试题

create table tonghua 2 ( 3 ID int , 4 主叫号码 varchar(15), 5 被叫号码 varchar(15), 6 通话起始时间 datetime, 7 通话结束时间 datetime , 8 通话时长 int , 9 ) 10 truncate table tonghua 11 insert into tonghua 12 select 1 , '98290000 ', '0215466546656 ', '2007-02-01 09:49:53。 000 ', '2007-02-01 09:50:16。000 ', 23 13 union all select 2, '98290000 ', '021546654666 ', '2007-02-01 09:50:29。000 ', '2007-02-01 09:50:41。 000 ', 12 14 union all select 3, '98290000 ', '021546654666 ', '2007-02-01 09:50:58。000 ', '2007-02-01 09:51:12。000 ', 14 15 union all select 4, '68290000 ', '0755133329866 ', '2007-02-01 10:04:31。 000 ', '2007-02-01 10:07:13。000 ', 162 16 union all select 5, '78290000 ', '0755255708638 ', '2007-02-01 10:48:26。000 ', '2007-02-01 10:49:23。 000 ', 57 17 union all select 6, '78290000 ', '0755821119109 ', '2007-02-01 10:49:39。000 ', '2007-02-01 10:52:55。

000 ', 196 18 union all select 7, '78290000 ', '035730928370 ', '2007-02-01 11:30:45。 000 ', '2007-02-01 11:31:58。000 ', 73 19 union all select 8, '78290000 ', '0871138889904 ', '2007-02-01 11:33:47。000 ', '2007-02-01 11:35:00。 000 ', 73 20 union all select 9, '68290000 ', '035730928379 ', '2007-02-01 11:52:20。000 ', '2007-02-01 11:54:56。000 ', 156 21 union all select 10, '68290000 ', '0298521811199 ', '2007-02-01 12:44:45。 000 ', '2007-02-01 12:45:04。000 ', 19 展开代码以上是表的创建1 SELECT A。* FROM tonghua AS A INNER JOIN tonghua AS B ON A。ID = B。ID-12 WHERE A。 主叫号码=B。主叫号码 AND DATEDIFF(MINUTE,A。通话结束时间,B。通话起始时间)>10 UNION SELECT B。* FROM tonghua AS B INNER JOIN tonghua AS A ON A。 ID = B。ID-13 WHERE A。主叫号码=B。主叫号码 AND DATEDIFF(MINUTE,A。通话结束时间,B。通话起始时间)>10展开代码1 select a。

*,b。* from 2 tonghua a,tonghua b where b。 id>a。id and b。id=(select min(id) from tonghua where id>a。id 3 and (a。主叫号码=b。主叫号码 or a。主叫号码=b。被叫号码 or a。被叫号码=b。主叫号码 or a。 被叫号码=b。被叫号码)) 4 and DATEDIFF(minute,a。通话结束时间,b。通话起始时间)>=105 and DATEDIFF(second,a。通话结束时间,b。通话起始时间)>=10展开代码以上是我认为正确的方法。 2、用一条select语句出所有课程在80分(含80分)以上的学生姓名,请写出所有可行方案。1 use QQmdb 2 go 3 if OBJECT_ID('sc') is not null 4 drop table sc 5 create table sc 6 ( 7 name char(10), 8 kc char(10), 9 score decimal(5,2)10 )11 12 insert into sc13 values('张三‘,‘语文‘,80),14 ('张三‘,‘数学‘,81),15 ('张三‘,‘英语‘,100),16 ('李四‘,‘语文‘,90),17 ('李四‘,‘数学‘,80),18 ('李四‘,‘英语‘,70),19 ('王五‘,‘语文‘,100),20 ('王五‘,‘数学‘,100),21 ('王五‘,‘英语‘,79)展开代码以上是表的创建1 select name from sc group by name having min(score)>=801 select name from sc where score >=80 group by name having COUNT(score)>=3 --先根分数大于80分的姓名分组,因为是3科,所以要分数count>3展开代码1 select distinct a。

name from sc a,sc b, sc c where a。name=b。name and b。name=c。name and a。name=c。name and a。kcb。kc and a。kcc。 kc and b。kcc。kc and a。score>=80 and b。score>=80 and c。score>=80展开代码1 select distinct name from sc where name not in (select name from sc where score=t1。fanCount )

Mysql数据库面试问题

select t1.non_seller, t3.coupon, ifnull(sum(t2.bal),0)from(select seller,coupon from (select distinct seller from t2) c, (select distinct coupon from t2) d) t3 left join t2 on t3.seller=t2.seller and t3.coupon=t2.coupon join t1on t1.seller=t3.sellergroup by t1.non_seller,t3.couponorder by t3.coupon,t1.non_seller...

MySQL面试中的问题汇总

id1,id2,(case when id1>id2 then id1 else id2 end) as result from t4;类似问题,表t4中,id2大于3记录为合格,大于5为优秀,否则为不合格select id1,id2,(case when id2>5 then '优秀‘ when id2>3 then '合格‘ else '不合格‘ end) as result from t4;2。 请取出表tb表中日期(created_ts)为当天的所有记录(created_ts字段为datetime类型,包含日期和时间)select * from where datediff(dd,created_ts,getDate())=03。 Mysql中sql模式主要是用来限制是否在数据录入阶段,对非法数据进行兼容性处理。通过select @@ sql_mode查看。4。char与varchar区别5。 数据复制步骤6。四种事务隔离级别7。触发器与存储过程8。索引类型、聚簇索引、索引与锁9。组合索引10。阐述isnull、ifnull、nullIf11。 Mysql中锁调度12。死锁以及解决办法13。MyISAM与InnoDB区别、Mysql常用存储引擎有哪些14。

主从复制搭建15。Mysql常用日志有哪些16。 Mysql优化步骤17。SQL注入以及如何防范MySQL 面试中的问题汇总。

mysql的常见面试问题

1、如何登陆mysql数据库MySQL-uusername-p

2、如何开启/关闭mysql服务servicemysqlstart/stop

3、查看mysql的状态servicemysqlstatus

4、如何显示数所有数据库showdatabases

5、如何获取表内所有字段对象的名称和类型describetable_name;

6、MYSQL支持事务吗?在缺省模式下,MYSQL是autocommit模式的,所有的数据库更新操作都会即时提交,所以在缺省情况下,mysql是不支持事务的。

但是如果你的MYSQL表类型是使用InnoDBTables或BDBtables的话,你的MYSQL就可以使用事务处理,使用SETAUTOCOMMIT=0就可以使MYSQL允许在非autocommit模式,在非autocommit模式下,你必须使用COMMIT来提交你的更改,或者用ROLLBACK来回滚你的更改。 示例如下:STARTTRANSACTION;SELECT@A:=SUM(salary)FROMtable1WHEREtype=1;UPDATEtable2SETsummmary=@AWHEREtype=1;COMMIT;

7、MYSQL相比于其他数据库有哪些特点?MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,现在已经被Sun公司收购,支持FreeBSD、Linux、MAC、Windows等多种操作系统与其他的大型数据库例如Oracle、DB

2、SQLServer等相比功能稍弱一些

1、可以处理拥有上千万条记录的大型数据

2、支持常见的SQL语句规范

3、可移植行高,安装简单小巧

4、良好的运行效率,有丰富信息的网络支持

5、调试、管理,优化简单(相对其他大型数据库)

8、varchar和char的区别Char是一种固定长度的类型,varchar是一种可变长度的类型

9、数据库事物有哪几种?隔离性、持续性、一致性、原子性

10、请简洁地描述下MySQL中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?SQL标准定义的四个隔离级别为:readuncommited:读取未提交内容readcommitted:读取提交内容repeatableread:可重读serializable:可串行化详细解释如下:ReadUncommitted(读取未提交内容)在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。

本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(DirtyRead)。ReadCommitted(读取提交内容)这是大多数数据库系统的默认隔离级别(但不是MySQL默认的)。它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变。 这种隔离级别也支持所谓的不可重复读(NonrepeatableRead),因为同一事务的其他实例在该实例处理其间可能会有新的commit,所以同一select可能返回不同结果。

RepeatableRead(可重读)这是MySQL的默认事务隔离级别,它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行。 不过理论上,这会导致另一个棘手的问题:幻读(PhantomRead)。简单的说,幻读指当用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影”行。

InnoDB和Falcon存储引擎通过多版本并发控制(MVCC,MultiversionConcurrencyControl间隙锁)机制解决了该问题。 注:其实多版本只是解决不可重复读问题,而加上间隙锁(也就是它这里所谓的并发控制)才解决了幻读问题。Serializable(可串行化)这是最高的隔离级别,它通过强制事务排序,使之不可能相互冲突,从而解决幻读问题。简言之,它是在每个读的数据行上加上共享锁。

在这个级别,可能导致大量的超时现象和锁竞争。对于不同的事务,采用不同的隔离级别分别有不同的结果。不同的隔离级别有不同的现象。主要有下面3种现在:

1、脏读(dirtyread):一个事务可以读取另一个尚未提交事务的修改数据。

2、非重复读(nonrepeatableread):在同一个事务中,同一个查询在T1时间读取某一行,在T2时间重新读取这一行时候,这一行的数据已经发生修改,可能被更新了(update),也可能被删除了(delete)。

3、幻像读(phantomread):在同一事务中,同一查询多次进行时候,由于其他插入操作(insert)的事务提交,导致每次返回不同的结果集。不同的隔离级别有不同的现象,并有不同的锁定/并发机制,隔离级别越高,数据库的并发性就越差,4种事务隔离级别分别表现的现象如下表:

12、mysql有关权限的表都有哪几个MySQL服务器通过权限表来控制用户对数据库的访问,权限表存放在mysql数据库里,由mysql_install_db脚本初始化。

这些权限表分别user,db,table_priv,columns_priv和host。下面分别说明一下这些表的结构和内容:user权限表:记录允许连接到服务器的用户帐号信息,里面的权限是全局级的。db权限表:记录各个帐号在各个数据库上的操作权限。 table_priv权限表:记录数据表级的操作权限。columns_priv权限表:记录数据列级的操作权限。host权限表:配合db权限表对给定主机上数据库级操作权限作更细致的控制。

这个权限表不受GRANT和REVOKE语句的影响。

13、mysql存储引擎有哪些?如何修改mysql存储引擎?MyISAMindexedsequentialaccessmethod(有索引的顺序访问方法)MyISAM具有检查和修复表格的大多数工具。 表格可以被压缩,而且...

延伸阅读:

出个Sql面试题!--总体情况 SELECT a.ID, COUNT(*) AS 总数, SUM(CASE b.STYLE WHEN 0 THEN 1 ELSE 0 END ) AS 过关数, SUM(CASE b.STYLE WHEN 1 THEN 1 ELSE 0 END ) AS 未过关数 from a, b...

SQL面试题。帮忙解答。谢谢(1): select 姓名,科目,成绩 from t表 a where not exists(select * from t表 b where b.成绩 (2): delete from t表 where id not in( select id from t表 a where id in(selec...

SQL语句面试题恩,通过自定义函数吧。。 实现如下: ----创建自定义函数 create function F_Getvarchar(a1 int) returns varchar(8000) as Begin declare a2 varchar(100),Newvarhar varchar...

有关SQL的面试题。。1: 〔车辆〕、〔站台〕、〔行车路线〕最少3个表 〔车辆〕表字段〔ID〕,〔名称〕 〔站台〕表字段〔ID〕,〔名称〕,〔描述〕 〔行车路线〕表字段〔ID〕,〔车ID〕,〔站ID〕 查询: SEL...

急求Sql Server数据库SQL语句面试题What are two methods of retrieving SQL? What cursor type do you use to retrieve multiple recordsets? What is the difference between a “where” clause and a “h...

SQL面试题求答案指定学科查询: select Name from Student where Curricula ='指定学科' and mark >60 不指定学科,按照学科排序 select Curricula,Name from Student where mark >60 order by...

oracle sql面试题求助--1 select max(sal) ,min(sal) from emp group by deptno; --2 select max(sal) ,min(sal) from emp where group by deptno; --3 select deptno,max(sal) ,min(sal) from...

sql语句面试题1.SELECT s.SNO,SNAME FROM S s,SC sc WHERE s.SNO=sc.SNO AND sc.CNO IN(SELECT CNO FROM C WHERE TNO= (SELECT TNO FROM T WHERE)); 2.SELECT SNO FROM SC WHERE CNO IN(...

sql面试题求解sql面试题求解,数据库面试题::方法1:Select * from p a where not exists(select 1 from p where phone=a.phone and calltime>a.calltime)方法2:select a.* from p a join (se...

推荐阅读
图文推荐
栏目列表