2017.02.22:数据库面试01

来源:互联网 发布:origin8怎么导入数据 编辑:程序博客网 时间:2024/06/03 13:46

1. WHERE关键字在使用集合函数时不能使用,所以在集合函数中加上了HAVING来起到测试查询结果是否符合条件的作用.

2. 当同时含有where子句、group by 子句 、having子句及聚集函数时,执行顺序如下:

--执行where子句查找符合条件的数据;

--使用group by子句对数据进行分组;对group by子句形成的组运行聚集函数计算每一组的值;最后用having子句去掉不符合条件的组。

--having 子句中的每一个元素也必须出现在select列表中。有些数据库例外,如oracle.

--having子句和where子句都可以用来设定限制条件以使查询结果满足一定的条件限制。

--having子句限制的是组,而不是行。

3. innerjoin(等值连接) 只返回两个表中联结字段相等的行;left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录;rightjoin(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录。

4. 什么是存储过程呢?存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。 通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句。

5.那为什么要用存储过程呢?存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。当对数据库进行复杂操作时,可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。存储过程可以重复使用,可减少数据库开发人员的工作量。安全性高,可设定只有某些用户才具有对指定存储过程的使用权。



存储过程详情见:



0 0