怎么学好数据库?
就有点SQL的基础知识,该怎么学好Oracle?另外问一下sqlserver和Oracle是处理数据的软件吗,还是指什么?(一提数据库,都说SQLSERVER,Oracl...
就有点SQL的基础知识,该怎么学好Oracle? 另外问一下sqlserver和Oracle是处理数据的软件吗,还是指什么?(一提数据库,都说SQLSERVER,Oracle,Access他们本质上是什么?是软件,还是指储存数据的不同模式?) 本人有C++基础,学数据库要用的除SQL外的编程语言吗?(要用到多少),另外推荐几本书看看(这是重点)
展开
展开全部
《数据库原理》是一本好书。使用的是sql2005软件
多写多看多读,另外我送你一份试验操作
一、简单查询
在学生选课数据库中实现如下的数据查询操作
1. 查询数学系学生的学号和姓名
SELECT 学号,姓名
FROM 学生
WHERE 所在系=‘数学’
2. 查询女学生的个人信息
SELECT *
FROM 学生
WHERE 性别=‘女’
3. 查询选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列
SELECT 学号,成绩
FROM 选修
WHERE 课程号=‘C1’
ORDER BY 成绩 DESC,学号 ASC
4. 查询选修课程C1且成绩在90分以上的学生学号和成绩。
SELECT 学号,成绩
FROM 选修
WHERE 课程号=‘C1’AND 成绩>90
5. 查询数学系或计算机系姓张的学生的信息。
SELECT *
FROM 学生
WHERE(所在系=‘数学’OR所在系=‘计算机’) AND 姓名 LIKE ‘张%’
6. 查询缺少了成绩的学生的学号和课程号
SELECT 学号,成绩
FROM 选修
WHERE 成绩 IS NULL
二、联接查询
1在学生选课数据库中实现如下的数据查询操作
(1)求选修C1课程且成绩为90分以上的学生学号、姓名及成绩
SELECT 学生.学号,姓名,成绩
FROM 选修 ,学生
WHERE 学生.学号=选修.学号 AND 课程号=‘C1’AND 成绩>90
(2)查询每门课程的间接先行课(即先行课的先行课)
SELECT A.课程号,A.课程名,B.先行课
FROM 课程 A,课程B
WHERE A.先行课=B.课程号
三数据库的嵌套查询实验
实验目的:使学生进一步掌握SQL Server查询分析器的使用方法,加深对SQL嵌套查询语句的理解
实验要求:将查询需求用Transact-SQL语言表示;在SQL Server查询分析器的输入区中输入Transact-SQL查询语句;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。
实验内容:在学生选课数据库中,使用IN、比较符、ANY、ALL和EXISTS操作符实现嵌套查询操作
1.查询选修了高等数学的学生学号和姓名
SELECT 学号,姓名
FROM 学生
WHERE 学号 IN (SELECT 学号
FROM 选修
WHERE 课程号 IN (SELECT 课程号
FROM 课程
WHERE 课程名=‘高等数学’))
2.查询C1课程的成绩高于张三的学生学号和成绩
SELECT 学号,成绩
FROM 选修
WHERE 课程号=‘C1’AND 成绩>=(SELECT成绩
FROM 选修 ,学生
WHERE学生.学号=选修.学号 AND 课程号=‘C1’AND 姓名=‘张三’)
3.求其他系中比计算机系学生年龄都小的学生
SELECT *
FROM 学生
WHERE 所在系<>‘计算机’AND 年龄<=ALL(SELECT年龄
FROM学生
WHERE 所在系=‘计算机’)
4.查询选修了C2课程的学生姓名
SELECT 姓名
FROM 学生
WHERE EXITS (SELECT *
FROM 选修
WHERE 学生.学号=选修.学号 AND 课程号=‘C2’)
四数据库的组合查询和统计查询
实验目的:
使学生熟练掌握SQL Server查询分析器的使用方法,加深对SQL查询语句的理解。熟练掌握数据查询中的分组、统计、计算和组合的操作方法。
实验要求:将查询需求用Transact-SQL语言表示;在SQL Server查询分析器的输入区中输入Transact-SQL查询语句;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。
实验内容:
一.在学生选课数据库中,实现如下的数据查询
1.求学生的总人数
SELECT COUNT(*)
FROM 学生
2.查询课程号为C1的课程的最高分
SELECT MAX(成绩)
FROM 选修
WHERE 课程号=‘C1’
3.列出每门课程的平均成绩(只列出平均成绩>70),并按平均成绩降序排列
SELECT 课程号,AVG(成绩)
FROM 选修
GROUP BY 课程号 HAVING AVG(成绩)〉70
ORDER BY AVG(成绩)DESC
4.查询选修人数超过40人的课程号和课程名
SELECT课程号,课程名
FROM 课程
WHERE 课程号 IN
(SELECT 课程号
FROM 选修
GROUP BY 课程号 HAVING COUNT(*)>40)
多写多看多读,另外我送你一份试验操作
一、简单查询
在学生选课数据库中实现如下的数据查询操作
1. 查询数学系学生的学号和姓名
SELECT 学号,姓名
FROM 学生
WHERE 所在系=‘数学’
2. 查询女学生的个人信息
SELECT *
FROM 学生
WHERE 性别=‘女’
3. 查询选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列
SELECT 学号,成绩
FROM 选修
WHERE 课程号=‘C1’
ORDER BY 成绩 DESC,学号 ASC
4. 查询选修课程C1且成绩在90分以上的学生学号和成绩。
SELECT 学号,成绩
FROM 选修
WHERE 课程号=‘C1’AND 成绩>90
5. 查询数学系或计算机系姓张的学生的信息。
SELECT *
FROM 学生
WHERE(所在系=‘数学’OR所在系=‘计算机’) AND 姓名 LIKE ‘张%’
6. 查询缺少了成绩的学生的学号和课程号
SELECT 学号,成绩
FROM 选修
WHERE 成绩 IS NULL
二、联接查询
1在学生选课数据库中实现如下的数据查询操作
(1)求选修C1课程且成绩为90分以上的学生学号、姓名及成绩
SELECT 学生.学号,姓名,成绩
FROM 选修 ,学生
WHERE 学生.学号=选修.学号 AND 课程号=‘C1’AND 成绩>90
(2)查询每门课程的间接先行课(即先行课的先行课)
SELECT A.课程号,A.课程名,B.先行课
FROM 课程 A,课程B
WHERE A.先行课=B.课程号
三数据库的嵌套查询实验
实验目的:使学生进一步掌握SQL Server查询分析器的使用方法,加深对SQL嵌套查询语句的理解
实验要求:将查询需求用Transact-SQL语言表示;在SQL Server查询分析器的输入区中输入Transact-SQL查询语句;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。
实验内容:在学生选课数据库中,使用IN、比较符、ANY、ALL和EXISTS操作符实现嵌套查询操作
1.查询选修了高等数学的学生学号和姓名
SELECT 学号,姓名
FROM 学生
WHERE 学号 IN (SELECT 学号
FROM 选修
WHERE 课程号 IN (SELECT 课程号
FROM 课程
WHERE 课程名=‘高等数学’))
2.查询C1课程的成绩高于张三的学生学号和成绩
SELECT 学号,成绩
FROM 选修
WHERE 课程号=‘C1’AND 成绩>=(SELECT成绩
FROM 选修 ,学生
WHERE学生.学号=选修.学号 AND 课程号=‘C1’AND 姓名=‘张三’)
3.求其他系中比计算机系学生年龄都小的学生
SELECT *
FROM 学生
WHERE 所在系<>‘计算机’AND 年龄<=ALL(SELECT年龄
FROM学生
WHERE 所在系=‘计算机’)
4.查询选修了C2课程的学生姓名
SELECT 姓名
FROM 学生
WHERE EXITS (SELECT *
FROM 选修
WHERE 学生.学号=选修.学号 AND 课程号=‘C2’)
四数据库的组合查询和统计查询
实验目的:
使学生熟练掌握SQL Server查询分析器的使用方法,加深对SQL查询语句的理解。熟练掌握数据查询中的分组、统计、计算和组合的操作方法。
实验要求:将查询需求用Transact-SQL语言表示;在SQL Server查询分析器的输入区中输入Transact-SQL查询语句;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。
实验内容:
一.在学生选课数据库中,实现如下的数据查询
1.求学生的总人数
SELECT COUNT(*)
FROM 学生
2.查询课程号为C1的课程的最高分
SELECT MAX(成绩)
FROM 选修
WHERE 课程号=‘C1’
3.列出每门课程的平均成绩(只列出平均成绩>70),并按平均成绩降序排列
SELECT 课程号,AVG(成绩)
FROM 选修
GROUP BY 课程号 HAVING AVG(成绩)〉70
ORDER BY AVG(成绩)DESC
4.查询选修人数超过40人的课程号和课程名
SELECT课程号,课程名
FROM 课程
WHERE 课程号 IN
(SELECT 课程号
FROM 选修
GROUP BY 课程号 HAVING COUNT(*)>40)
展开全部
就有点SQL的基础知识,该怎么学好Oracle?
--从SQL起步,依次学习select,insert,update,delete,分组函数,各种连接,合并,权限管理,同义词,schema.
然后学习PL/SQL的函数,存储过程,序列,触发器,事务,动态SQL,异常处理.
SQL优化也要了解一些(执行计划)
如果不学DBA这些就足够了.
另外问一下sqlserver和Oracle是处理数据的软件吗,还是指什么?(一提数据库,都说SQLSERVER,Oracle,Access他们本质上是什么?是软件,还是指储存数据的不同模式?)
--对,都是数据库软件.
本人有C++基础,学数据库要用的除SQL外的编程语言吗?(要用到多少)
--Oracle要用到PL/SQL(和SQL有所不同...如果你学SQL Server,要用到T-SQL)
另外推荐几本书看看(这是重点)
--推荐steve feurstein的oracle pl/sql programming(不好意思,我看的都是英文书.可以去书店找找影印版...)
--从SQL起步,依次学习select,insert,update,delete,分组函数,各种连接,合并,权限管理,同义词,schema.
然后学习PL/SQL的函数,存储过程,序列,触发器,事务,动态SQL,异常处理.
SQL优化也要了解一些(执行计划)
如果不学DBA这些就足够了.
另外问一下sqlserver和Oracle是处理数据的软件吗,还是指什么?(一提数据库,都说SQLSERVER,Oracle,Access他们本质上是什么?是软件,还是指储存数据的不同模式?)
--对,都是数据库软件.
本人有C++基础,学数据库要用的除SQL外的编程语言吗?(要用到多少)
--Oracle要用到PL/SQL(和SQL有所不同...如果你学SQL Server,要用到T-SQL)
另外推荐几本书看看(这是重点)
--推荐steve feurstein的oracle pl/sql programming(不好意思,我看的都是英文书.可以去书店找找影印版...)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
理解基本概念,学好SQL查询语句,然后自己按照第三范式设计一个数据库,这样基础就很不错了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一定要仔细研读《数据库概论》这本理论书,好好了解下数据库的基础理论。然后就是实践了,找一个数据库安装上,找本相关的书籍一步一步学下来。再往后,就是相关的别的数据库。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学好数据库相关SQL语句慢慢上手并不是很难。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询