一个SQL Server多对多查询的面试题

数据库 SQL Server
本文我们主要介绍了一个SQL Server多对多查询的面试题以及它的解决方案,希望能够对您有所帮助。

SQL Server数据库应用中,我们经常会用到多对多查询,本文我们就给出了一个简单的多对多查询的实例,接下来就让我们一起来了解一下这部分内容。

题目是这样的:

 

  1. ---学生表   
  2. CREATE TABLE student (   
  3. ID INTEGER,   
  4. stu_No INTEGER,   
  5. NAME VARCHAR2(32)   
  6. );   
  7. --课程表   
  8. CREATE TABLE course (   
  9. ID INTEGER,   
  10. cou_no INTEGER,   
  11. NAME VARCHAR2(32)   
  12. );   
  13. --中间表   
  14. CREATE TABLE s_c (   
  15. stu_id INTEGER,   
  16. cour_id INTEGER   
  17. ); 

 

问题:找出名字为张三的学号,姓名 对应学的课程的编号和课程名称,一个sql完成。请问这个查询语句,应该怎么写?

 

解决方法:

 

 

  1. --多表查询   
  2. SELECT STU.STU_NO, STU.NAME --, COU.COU_NO, COU.NAME  
  3. FROM S_C SC  
  4. LEFT JOIN STUDENT STU  
  5. ON STU.ID = SC.STU_ID  
  6. LEFT JOIN COURSE COU  
  7. ON COU.ID = SC.COUR_ID  
  8. WHERE STU.NAME = '梁帅伟';  
  9. --就算他没有参加任何课程,也将他的姓名,学号查询出来 (left join 以 此关键字前的表为准)  
  10. SELECT S.STU_NO 学号, S.NAME 姓名, C.COU_NO 课程编号, C.NAME 课程名称  
  11. FROM STUDENT S  
  12. LEFT JOIN S_C SC  
  13. ON S.ID = SC.STU_ID  
  14. LEFT JOIN COURSE C  
  15. ON C.ID = SC.COUR_ID  
  16. WHERE S.NAME = '梁文兴'

 

关于SQL Server数据库多对多查询的实例就介绍到这里的,希望本次的介绍能够对您有所收获!

【编辑推荐】

  1. 适合初学者的MySQL学习笔记之管理员常用操作总结
  2. 适合初学者的MySQL学习笔记之SELECT语句使用详解
  3. MySQL数据库存储引擎之MyISAM和InnoDB的区别对比
  4. 适合初学者的MySQL学习笔记之ORDER BY子句使用详解
  5. 适合初学者的MySQL学习笔记之MySQL常用命令操作技巧
责任编辑:赵鹏 来源: 博客园
相关推荐

2013-05-29 10:23:36

Android开发移动开发Java面试题

2011-07-18 15:08:19

SQL存储过程

2010-10-21 11:10:57

SQL Server查

2012-08-02 09:36:58

fork面试题

2009-06-04 16:14:22

Hibernate一对Hibernate一对Hibernate多对

2011-03-24 13:27:37

SQL

2010-07-07 08:33:09

SQL Server学

2023-06-20 08:25:53

NESTED源码mybatis

2011-03-02 10:58:16

SQL server入门面试题

2010-04-15 09:09:02

Hibernate

2011-08-23 09:12:17

SQL Server多

2010-11-09 15:30:01

Sql server时

2009-06-06 18:34:05

java面试题

2021-03-16 08:56:35

Go interface面试

2009-07-21 17:39:50

iBATIS的多对多映

2014-12-02 10:02:30

2024-03-12 09:34:01

2024-09-26 08:03:25

2009-09-22 09:55:58

Hibernate实例

2010-06-28 09:53:11

SQL Server数
点赞
收藏

51CTO技术栈公众号