玩转sql(一):多表查询
类别:MsSql数据库 作者:码皇 来源:互联网 点击:
玩转sql(一):多表查询先建立两张简单的表 www 2cto com 表A:学生信息表IDName1王二2张三3李四 www 2cto com 表B:课程信息表IDCourse1英语2语文4数据库一.使用连接1 左连接 left join :left
玩转sql(一):多表查询 先建立两张简单的表 www.2cto.com 表A:学生信息表 ID Name 1 王二 2 张三 3 李四 www.2cto.com 表B:课程信息表 ID Course 1 英语 2 语文 4 数据库 一.使用连接 1. 左连接 left join : left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的。换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.ID = B.ID)。B表记录不足的地方均为NULL。(连接可以对同一个表操作,也可以对多表操作) sql语句:select * from A left join B on A.ID=B.ID 运行结果 ID Name ID Course 1 王二 1 英语 2 张三 2 语文 3 李四 NULL NULL 2. 右连接 right join: 右连接与左连接基本相同,只是以表B作为基础表 3. 完全外连接 full join: 从左表和右表那里返回所有的行。 Sql语句:select * from A fulljoin B on A.ID=B.ID 执行结果: ID Name ID Course 1 王二 1 英语 2 张三 2 语文 3 李四 NULL NULL NULL NULL 4 数据库 www.2cto.com 4. 内连接:join: 与外链接相反,只显示没有空值的列 ID Name ID Course 1 王二 1 英语 2 张三 2 语文 二.多对多表关联 添加一个表:C:学生选课信息表 ID SID CID 1 1 1 2 2 1 3 2 2 4 3 3 表内为多对多关系,查询学生与选课的关系 select A.Name,B.Cousrefrom C as C left join B as A on A.Sno=B.Sno left join B as c on B.Cno=C.Cno
相关热词搜索:
玩转 sql (