数据库的查询
来源:互联网 发布:淘宝阿尔法软件 编辑:程序博客网 时间:2024/06/16 03:31
数据库的查询
S表
snum
sname
sex
age
dept
S01
张三
M
18
通工
S02
王敏
F
19
英语
S03
李华
M
18
英语
S04
杨雪
F
19
会计
C表
cnum
cname
teacher
C01
c
ma
C02
C++
zha
C03
java
sun
Sc表
snum
cnum
grade
S01
C01
90
S02
C02
72
S01
C02
59
S02
C03
75
S01
C03
91
S03
C01
80
S03
C02
76
1.单表查询
(1)查询ma老师所教的课程号和课程名。
Select cnum,cname
From c
Where teacher=‘ma’
(2)查询学号s01的学生所选课程和成绩。
Select cnum,grage
From sc
Where snum=’s01‘
(3)查询年龄介于18-20之间的学生信息。
Select snum,sname,sex,age,dept
From s
Where age>=18 and age<=20
(1)(2)(3)为单表查询,比较简单,只需要找到要查询的内容在哪个表以及它的约束条件即可。
2.多表查询
(1)查询年龄介于18-20之间的学生学号,姓名,课程号和成绩。
Select s.snum,sname,cnum,grade
Form s,sc
Where s.snum=sc.snum and age between 18 and 20
(2)查询选修c01,c02课程的学生学号,姓名,课程号和成绩。
Select s.snum, sname, cnum, grade
From s, sc
Where s.snum=sc.snum and cnum=’c01’ or cnum =’c02’
(3)查询同时选c01c02的学生的课程号,姓名,学号,成绩
Select cnum,sname,S.snum,grade
From s,sc
Where s.snum=sc.snum and
(selsect s.snum , sname , x.cnum, x.grade
From s, sc.x, sc.y
Where s.snum=x.snum and x.num =y.num and x.cnum =’c01’ and y.cnum=’c02’ )
****多表查询是要查询的内容在两个或两个以上的表里,这时要找出两个表之间的联系,比如s表和sc表里都有snum,查询条件要加一条s.snum=sc.snum.
注意:当同时查询c01c02要同时访问表两次,即相当于再复制一张表,sc.x,和sc.y,而且x.cnum='c01'且y.cnum='c02'
3.嵌套查询
(1)查询选修c++的学生信息。
Select snum,sname,sex,age,dept
From s
Where snum in
(select snum from sc where cnum in
(select cnum from c where cname=‘c++’))
- 数据库的连接查询
- 查询数据库的实例
- 数据库查询的设计
- 数据库的递归查询
- 数据库查询的小结
- 数据库的查询
- 数据库的查询优化
- 数据库的一些查询
- 数据库的查询
- 数据库的查询
- 数据库的查询
- MySQL 数据库的查询
- MySQL 数据库的查询
- ThinkPHP的数据库查询
- 数据库查询的代码
- Django 的数据库查询
- 数据库的子查询
- yii数据库的查询
- struts2--文件上传大小
- C语言中fpritnf函数的简单理解
- INSTALL_FAILED_NO_MATCHING_ABIS 的解决办法
- 在Eclipse中配置tomcat,浏览器输入http://localhost:8080报404错误解决方法
- 快速构建网站之获取域名
- 数据库的查询
- ZOJ 3829 Known Notation 贪心
- 第二次实验 实验报告
- 《VC++深入详解》第二章练习
- [ACM] FZU 2086 餐厅点餐 (枚举)
- Java单例模式常用的3种实现方式
- mkdir: cannot create directory `/usr/local/share/man/man1': File exists
- Mysql数据隔离,脏读,rollback
- Oracle 字符串函数和数字函数,聚集函数