SQL 学习笔记<三> SELECT之连接查询
2012-05-13 22:41
696 查看
连接查询
SELECT SC.Sno, C.Cname, C.Grade
FROM SC, Course C
WHERE SC.Cno = C.Cno; //表外连接
SELECT A.Cno, B.Cpno
FROM Course A, Course B
WHERE A.Cpno = B.Cno; //表内连接
SELECT C.Cno, C.Cname, COUNT(SC.Sno)
FROM Course C, SC
WHERE C.Cno =* SC.Cno
GROUP BY C.Cno; //*为外连接符号,*出现在连接条件的右边称为左外连接,*出现在连接条件的左边称为右外连接
SELECT S.Sname, S.Sdept
FROM Student S, SC
WHERE S.Sno = SC.Sno AND SC.Cno = '1156' AND SC.Grade > 80; //多条件查询
SELECT S.Sno, S.Sname, C.Cname, SC.Grade
FROM Student S, SC, Course C
WHERE S.Sno = SC.Sno AND SC.Cno = C.Cno
ORDER BY S.Sno; //ORDER BY多条件查询
SQL2中的连接查询表达方法
R [NATURAL] {CROSS | LEFT OUTER | RIGHT OUTER | FULL OUTER } JOIN S {ON 条件 | USING(1, A2, …, An) }
1. 笛卡尔积
Student CROSS JOIN SC; //结果包含Student和SC中的所有属性(8个),Student中的任何一个元组和SC中任何一个元组连接一个结果元组。
2. Theta连接
Student JOIN SC ON Student.Sno = SC.Sno; //结果包含Student和SC中的所有属性(8个),Student和SC中满足条件的元组进行连接形成结果元组。
3. 自然连接
Student NATURAL JOIN SC; //结果包含Student和SC中的所有属性去掉重复的属性(7个),Student和SC中满足条件的元组进行连接形成结果元组。
4. 外连接
Course RIGHT OUTER JOIN SC ON Student.Sno = SC.Sno;
SELECT Sname, Sdept FROM Student NATURAL JOIN SC WHERE Cno = ‘1156’;
SELECT SC.Sno, C.Cname, C.Grade
FROM SC, Course C
WHERE SC.Cno = C.Cno; //表外连接
SELECT A.Cno, B.Cpno
FROM Course A, Course B
WHERE A.Cpno = B.Cno; //表内连接
SELECT C.Cno, C.Cname, COUNT(SC.Sno)
FROM Course C, SC
WHERE C.Cno =* SC.Cno
GROUP BY C.Cno; //*为外连接符号,*出现在连接条件的右边称为左外连接,*出现在连接条件的左边称为右外连接
SELECT S.Sname, S.Sdept
FROM Student S, SC
WHERE S.Sno = SC.Sno AND SC.Cno = '1156' AND SC.Grade > 80; //多条件查询
SELECT S.Sno, S.Sname, C.Cname, SC.Grade
FROM Student S, SC, Course C
WHERE S.Sno = SC.Sno AND SC.Cno = C.Cno
ORDER BY S.Sno; //ORDER BY多条件查询
SQL2中的连接查询表达方法
R [NATURAL] {CROSS | LEFT OUTER | RIGHT OUTER | FULL OUTER } JOIN S {ON 条件 | USING(1, A2, …, An) }
1. 笛卡尔积
Student CROSS JOIN SC; //结果包含Student和SC中的所有属性(8个),Student中的任何一个元组和SC中任何一个元组连接一个结果元组。
2. Theta连接
Student JOIN SC ON Student.Sno = SC.Sno; //结果包含Student和SC中的所有属性(8个),Student和SC中满足条件的元组进行连接形成结果元组。
3. 自然连接
Student NATURAL JOIN SC; //结果包含Student和SC中的所有属性去掉重复的属性(7个),Student和SC中满足条件的元组进行连接形成结果元组。
4. 外连接
左外连接 | LEFT OUTER JOIN |
右外连接 | RIGHT OUTER JOIN |
全外连接(既左外连接又右外连接) | FULL OUTER JOIN |
SELECT Sname, Sdept FROM Student NATURAL JOIN SC WHERE Cno = ‘1156’;
相关文章推荐
- oracle开发之<<SQL Cookbook>>学习笔记整理:第二章 查询结果排序
- java 从零开始,学习笔记之基础入门<SQL_Server_常用查询>(二十二)
- SQL 学习笔记<二> INSERT, UPDATE, DELETE, SELECT
- php学习笔记(二)php与mysql连接与用php发送SQL查询
- 数据库学习笔记---SQL基础-->层次化查询(START BY ... CONNECT BY PRIOR)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<SQL_Server_视图_函数_存储过程_触发器等>(二十三)
- SQL学习笔记八 索引,表连接,子查询,ROW_NUMBER
- SQL学习笔记10——表连接查询
- java 从零开始,学习笔记之基础入门<SQL_Server_视图_函数_存储过程_触发器等>(二十三)
- SQL学习笔记八 索引,表连接,子查询,ROW_NUMBER
- SQL学习笔记----Select查询先后顺序
- SQL 学习笔记<四> MySQL嵌套查询,集合操作
- java 从零开始,学习笔记之基础入门<数据库连接配置>(二十八)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<数据库连接配置>(二十八)
- 集合框架学习笔记<三>
- SQL 学习笔记<五> 数据更新
- oracle开发之<<SQL Cookbook>>学习笔记整理:第三章 操作多个表
- cocos2d-x 3.x学习笔记<三> 加密解密 xxtea
- 常用的SQL语句<三> 联合查询和高级用法