MySql教程

Mysql面试题

本文主要是介绍Mysql面试题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.左右连接区别?

   left join(左连接)查询的包括左表的所有记录和右表中交集的记录,如果右表中的没有对应数据,按null补充。

   right join(右连接)   查询的包括右表的所有记录和左表中交集的记录。如果左表中的没有对应数据,按null补充。

2.having和where的区别?

   (1)having 后面可以进行聚合函数的判断,where后不可以跟聚合函数

   (2)where在分组之间进行限定,如果不满足条件,则不参与分组。having在分组之后,如果不满足条件,则不会被查询出来。

3.char和varchar的区别?

     区别一:定长和变长

           char表示定长,长度固定,varchar表示变长,即长度可变。char如果插入的长度小于定义长度时,则用空格填充;carchar小于定义长度时,还是按实际长度存储,插入多长就存多长。

           char因为长度固定,char的读取速度还是要比varchar要快得多,方便程序的存储于查找,但是会占据多余的空间。

       区别二:存储的容量不同

            对char来说,最多能存放的字符个数255。

            对varchar呢,最多能存放65532个字符。varchar的最大有效长度由最大行大小和使用的字符集确定。

4.三范式是什么?

         第一范式:第一范式每一列不可再拆分,列为原子性

         第二范式:第二范式在满足第一范式的基础上所有列完全依赖于主键列

         第三范式:第三范式就是满足第二范式的前提下,表中的每一列都直接依赖于主键,而不是通过其他的列来间接依赖于主键。

5.说一下sql是怎么优化的?

 

 

 

   

这篇关于Mysql面试题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!