白山市住房和建设局网站,南宁网站建设兼职,wordpress容易被黑吗,wordpress装插件吗背景#xff1a;
汇整一下自己学习数据库过程中常见的题目及语句。
一.实例分析题 二#xff0e;简单SQL查询#xff1a;
1#xff09;:统计每个部门员工的数目select dept,count(*) from employee group by dept;2#xff09;:统计每个部门员工的数目大于一个的记录se…背景
汇整一下自己学习数据库过程中常见的题目及语句。
一.实例分析题 二简单SQL查询
1:统计每个部门员工的数目select dept,count(*) from employee group by dept;2:统计每个部门员工的数目大于一个的记录select dept,count(*) from employee group by dept having count(*)1;3:统计工资超过1200的员工所在部门的名称select e.first_name,salary,d.namefrom s_emp e, s_dept dwhere e.dept_id d.idand salary 1200;4:查询哪个部门没有员工select e.empno, d.deptno from emp e, dept dwhere e.deptno() d.deptnoand e.deptno is null;三复杂SQL查询
有3个表15分钟(SQL)
Student 学生表 (学号姓名性别年龄组织部门)
Course 课程表 (编号课程名称)
Sc 选课表 (学号课程编号成绩)
表结构如下 1) 写一个SQL语句查询选修了’JAVA’的学生学号和姓名3分钟
答SQL语句如下
select stu.sno, stu.sname
from student stu, course c, sc
where stu.sno sc.sno and sc.cno c.cno and c.cname’JAVA’; 2) 写一个SQL语句查询’a’同学选修了的课程名字3分钟
答SQL语句如下
select stu.sname, c.cname
from student stu, course c, sc
where stu.sno sc.sno and sc.cno c.cno and stu.sname ’a’; 3) 写一个SQL语句查询选修了5门课程的学生学号和姓名9分钟
答SQL语句如下
select stu.sno, stu.sname from student stu
where (select count(*) from sc where snostu.sno) 5;
三. 在SQL中删除重复记录的方法:用到rowid (oracle伪列) 1通过建立临时表来实现 SQLcreate table temp_emp as (select distinct * from employee) SQLtruncate table employee; (清空employee表的数据 SQLrename temp_emp to employee; (再将表重命名 2通过使用rowid来实现。 SQLdelete from employee where rowid not in ( select max(t1.rowid) from employee t1 group by t1.emp_id,t1.emp_name,t1.salary); --这里用min(rowid)也可以。
四. TOP N问题查出一张表的前2条数据用到rownum (oracle伪列)
四. TOP N问题查出一张表的前2条数据用到rownum (oracle伪列) 答--rownum只能使用或的关系比较运算符 select * from s_emp where rownum 2; --查询公司工资最高的3个人 /*select * from emp where rownum 3 order by sal desc;*/ 错误的 select * from (select * from emp order by sal desc) where rownum 3; 五.分页查询 --查询第1-5条记录 select * from (select rownum num, s_emp.* from s_emp) where num 1 and num 5; --按工资排序五条一页,查找第二页 select salary,first_name from( select s.*, rownum rm from (select * from s_emp order by salary d ) s ) where rm between 6 and 10
四、简述题
1.怎样创建一个视图,视图的好处, 视图可以控制权限吗?
答案
Create view 視圖名 as select 語句
視圖名在數據庫中必須是唯一的不能與其他表或視圖同名
指定創建視圖的語句可以查詢多個基礎表或源視圖
1.增强保障數據安全性
2.組裝數據 數據整合
3.封裝複雜查詢 數據的透明性
4.提供建模模型
5.提高響應速度
視圖只是一個虛表 用戶有只讀權限 沒有控制權限
2.怎样创建一个一个索引,索引使用的原则,有什么优点和缺点
Create index idx_表名_列名 on 表名(列名)
原則 1.小數據量的表不宜使用索引
2.頻繁使用插入修改刪除等DML操作的數據表不宜使用索引
優點利用索引提供數據庫性能
缺點添加刪除修改數據對索引的影響都是不可避免地形成了對存儲空間的浪費
3. 怎样将一个旧数据库数据移到一个新的数据库 創建一個臨時數據庫
先把舊的數據庫遷移過去再SQL導入數據 insert into select from 然後再把舊的數據庫刪除就好了
4. 怎样创建一个存储过程,有什么好处? 5. 说说你了解的oracle中的经常使用到得函数
字符函数 Upper()函數 Lower()函數 Initcap()函數 Substr()函數 Length()函數 Concat()函數 Instr()函數 Trim()函數 Itrim()函數 Rtrim()函數 Translate()函數 轉換函數 TO_CHAR
数字函数 Abs()函數 Round()函數 Ceil()函數 Floor()函數 Mod()函數 Sign()函數 Sqrt()函數 Power()函數 Trunc()函數 轉換函數 TO_NUMBER 日期函数 Sysdate()函數 Add_months()函數 Last_day()函數 Next_day()函數 Months_between()函數 Extract()函數 轉換函數 TO_DATE
其它函数 Decode()函數 Nvl()函數 Cast()函數 聚合函數/組函數 AVG()函數 SUM()函數 MAX()函數 MIN()函數 COUNT()函數
6. Oracle中字符串用什么符号链接
Oracle 字符串連接使用“||”進行字符串拼接
單引號表示日期或字符串
雙引號表示別名
7.简要说一下什么是内连接、左连接、右连接并写出连接的sql。
答案
(1)