Sql连表查询

Sql连表查询

1.Union:使用union是组合两张表,消去表中重复行,两张表查询的结果有相同数量的列、列类型相似;UNION ALL,不消除重复行
教师表:

ID Name
101 Mrs Lee
102 Lucy

学生表:

ID Name Age City MajorID
101 Tom 20 BeiJing 10
102 Lucy 18 ShangHai 11

SELECT Name FROM Students
UNION ALL
SELECT Name FROM Teachers
结果是:

ID Name
101 Tom
102 Lucy
101 Mrs Lee
102 Lucy

2.INNER JOIN(内连接):内连接,只查匹配行
Majors表:

ID Name
10 English
12 Computer

实例:查询学生信息,包括ID,姓名、专业名称
SELECT Students.ID,Students.Name,Majors.Name AS MajorName
FROM Students INNER JOIN Majors
ON Students.MajorID = Majors.ID
查询结果

ID Name MajorName
101 Tom English

3.外连接 :左外连接、右外连接和全外连接,对应LEFT/RIGHT/FULL OUTER JOIN
重点:至少有一方保留全集,没有匹配行用NULL代替
1)LEFT OUTER JOIN:结果集保留左表的所有行,但只包含第二个表与第一表匹配的行。第二个表相应的空行被放入NULL值
SELECT Students.ID,Students.Name,Majors.Name AS MajorName
FROM Students LEFT JOIN Majors
ON Students.MajorID = Majors.ID
结果:

ID Name MajorName
101 Tom English
102 Lucy NULL

2)RIGHT OUTER JOIN:右外连接保留了第二个表的所有行,但只包含第一个表与第二个表匹配的行。第一个表相应空行被入NULL值
SELECT Students.ID,Students.Name,Majors.Name AS MajorName
FROM Students RIGHT JOIN Majors
ON Students.MajorID = Majors.ID
结果:

ID Name MajorName
101 Tom English
Null NULL Computer

3)FULL OUTER JOIN:把两个表所有的行都显示在结果表中
SELECT Students.ID,Students.Name,Majors.Name AS MajorName
FROM Students FULL JOIN Majors
ON Students.MajorID = Majors.ID
结果:

ID Name MajorName
101 Tom English
102 Lucy NULL
NULL NULL Computer

转载于:https://blog.51cto.com/11055592/2133588

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101588.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python 写入txt文本文件[通俗易懂]

    Python 写入txt文本文件[通俗易懂]引入完整示例

    2022年10月2日
    5
  • Fedora 12 环境搭建[通俗易懂]

    Fedora 12 环境搭建[通俗易懂]又来折腾发行版了。这一回是Fedora12,搞的挺艰难的下载了Fedora-12-i386-DVD.iso,无论使用ultraiso还是dd都无法安装。后来下载了一个ImageWriter.exe(o

    2022年7月3日
    31
  • C# 图书管理系统【含 源代码+数据库】

    C# 图书管理系统【含 源代码+数据库】1.系统分析1.1基本需求功能点分析图书借阅管理系统,主要目标是简化现有的人工管理,通过科学的计算机管理图书借阅管理,提高工作效率,实现日常管理信息化,无纸化。1)系统用户主要分为两大类:a.管理员用户类(相当于一名有各种操作权限的超级用户)b.普通用户类。系统根据登录页面不同的身份选择登录进入不同页面进行后续操作。2)管理员用户的主要功能:a.管理功能:用户管理、图书管理(图书类别管理、图书信息管理)、读者管理(读者类别管理、读者信息管理)、借阅记录管理、系统管理(注销、退出);b.统计

    2022年6月18日
    41
  • excel怎么只打印某页?excel怎么只打印某几页

    excel怎么只打印某页?excel怎么只打印某几页

    2021年11月9日
    168
  • Canny边缘检测及C++实现「建议收藏」

    Canny边缘检测及C++实现「建议收藏」Canny边缘检测算法是澳大利亚科学家JohnF.Canny在1986年提出来的,不得不提一下的是当年JohnCanny本人才28岁!到今天已经30年过去了,Canny算法仍然是图像边缘检测算法中最经典有效的算法之一。一起睹一下大家芳容:JohnCanny研究了最优边缘检测方法所需的特性,给出了评价边缘检测性能优劣的3个指标:1 好的信噪比,即将非边缘点判定为

    2022年5月30日
    42
  • idea2022.2.4激活码(JetBrains全家桶)

    (idea2022.2.4激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月30日
    916

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号