数据库题以及笔记

整理一下自己印象笔记中积累的知识点。


★SQL语句的执行顺序:

5 select foo,count(foo)
1 from pokes  
2 where foo>10
3 group by foo
4 having count(*)>5
6 order by foo 


数据库范式:

第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;(即属性不能被分割!)
第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;(即主键能决定一个记录!不能有部分依赖!即A和B是主键,C单独由B决定)

第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。(即一个表中不存在传递依赖!即A是主键,C却可以由B决定)




在数据库系统中,产生不一致的根本原因是 (D) 

A.数据存储量太大 B.没有严格保护数据 C.未对数据进行完整性控制 D.数据冗余


在下面的描述中,哪些不属于数据库安全性的措施()AC
A. 普通ZIP压缩存
B. 关联加密存储
C. 数据分段
D. 授权限制
E. 数据多机备份
解析:A和C跟数据库安全无关。


有这样一个表,要求检索出第二大的数据

+----+--------+
| Id | Salary |
+----+--------+
| 1  | 100    |
| 2  | 200    |
| 3  | 300    |
+----+--------+
# Write your MySQL query statement below
SELECT max(Salary) As SecondHighestSalary
FROM Employee
WHERE Salary<(SELECT max(Salary) FROM Employee)



有这么2个表,请给出所有人的地址,而且地址可以为空!

需要用到外部联结,即联结起来时,有的属性可以为空,用LEFT JOIN ……ON 或者RIGHT JOIN……ON

Table: Person

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| PersonId    | int     |
| FirstName   | varchar |
| LastName    | varchar |
+-------------+---------+
PersonId is the primary key column for this table.

Table: Address

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| AddressId   | int     |
| PersonId    | int     |
| City        | varchar |
| State       | varchar |
+-------------+---------+
AddressId is the primary key column for this table.
# Write your MySQL query statement below
SELECT FirstName,LastName,City,State
FROM Person LEFT OUTER JOIN Address
ON Person.PersonId = Address.PersonId 


找出表中第N大的数据,利用函数

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
  SET N=N-1; //N-1要用在这里 #
  RETURN (
      # Write your MySQL query statement below.
      SELECT DISTINCT Salary
      FROM Employee
      ORDER BY Salary DESC
      LIMIT N,1   #从第N行开始选取1行。切忌行从0开始算的,不可以出现计算符如N-1
  );
END




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值