数据库基础教程第三版一连接查询

2024-05-04 15:12

本文主要是介绍数据库基础教程第三版一连接查询,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

查找GoodsOrder数据库每个订购了商品的客户及其订单情况。

select CustomerInfo.*,OrderList.*
from CustomerInfo,OrderList
where CustomerInfo.[客户编号]=OrderList.[客户编号]

也可以使用表的别名

select a.*,b.*
from CustomerInfo a,OrderList b
where a.[客户编号]=b.[客户编号]

 查找GoodsOrder数据库每个订购了商品的客户及其订单情况,去除重复的列。

select a.*,b.[商品编号],b.[订购时间],b.[数量],b.[需要日期],b.[付款方式],b.[送货方式]
from CustomerInfo a,OrderList b
where a.[客户编号]=b.[客户编号]

注查询条件里面的b可以省略,因为后面的属性只要b表里面有,可以省略

查找GoodsOrder数据库订购了编号为“10010001商品的客户编号、姓名、所在省市及其联系电话、微信号。

select DISTINCT a.[客户编号],[客户姓名],[所在省市],[联系电话],[微信号]
from CustomerInfo a,OrderList b
where a.[客户编号]=b.[客户编号] 
and 商品编号='10010001'

distinct 消除重复行

查找订购了“体育用品”类别商品的客户的客户编号、客户姓名、联系电话和所订购商品的需要日期,并按需要日期排序。

select a.[客户编号],[客户姓名],[联系电话],[需要日期]
from CustomerInfo a, GoodsInfo b,OrderList c
where a.[客户编号]=c.[客户编号] 
and b.[商品编号]=c.[商品编号]
and [商品类别]='体育用品'
ORDER BY [需要日期]

自连接

在CustomerInfo表中查询具有相同姓名的客户信息。

(表中没有姓名相同的客户,要插入一条)

Insert into CustomerInfo values (100007,'赵明','1990-10-19','男','江苏南京',
'13019901101','wxid_zm','FALSE','新客户')

不仅要姓名相同,客户的编号也要不同,才能确定是两个姓名相同的客户 

select Info1.*
from CustomerInfo Info1, CustomerInfo Info2
where Info1.[客户姓名]=Info2.[客户姓名]
and Info1.[客户编号] <> Info2.[客户编号] 

以JOIN关键字指定的连接

内连接:表的连接放在了 from子句里面,不是where子句

                inner join on

查找GoodsOrder数据库每个订购了商品的客户及其订单情况。

select *
from CustomerInfo inner join OrderList
on CustomerInfo.[客户编号]=OrderList.[客户编号]

GoodsOrder数据库中查询订购了类别为“体育用品”的客户的客户编号、客户姓名、联系电话以及商品的需要日期。

SELECT DISTINCT CustomerInfo.客户编号, 客户姓名, 联系电话, 需要日期FROM CustomerInfo JOIN GoodsInfo JOIN OrderList ON GoodsInfo.商品编号 = OrderList.商品编号ON CustomerInfo.客户编号 = OrderList.客户编号WHERE 商品类别='体育用品'
select CustomerInfo.[客户编号],[客户姓名],[联系电话],[需要日期]
from OrderList
Join GoodsInfo on GoodsInfo.[商品编号]=OrderList.[商品编号]
join  CustomerInfo on CustomerInfo.客户编号=OrderList.[客户编号]
where [商品类别]='体育用品'

外连接只能对两个表进行 

左外连接

保留左边表的数据

查找所有客户情况,及他们订购商品的编号。若客户没有任何订购商品记录,也要包括其基本信息。

SELECT CustomerInfo.*,[商品编号]
from CustomerInfo left join  OrderList
on CustomerInfo.[客户编号]=OrderList.[客户编号]

右外连接

保留右边表的数据

查找所有客户情况,及他们订购商品的编号。若客户没有任何订购商品记录,也要包括其基本信息。

SELECT CustomerInfo.*,[商品编号]
from OrderList RIGHT JOIN   CustomerInfo 
on CustomerInfo.[客户编号]=OrderList.[客户编号]

这篇关于数据库基础教程第三版一连接查询的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/959494

相关文章

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

java如何通过Kerberos认证方式连接hive

《java如何通过Kerberos认证方式连接hive》该文主要介绍了如何在数据源管理功能中适配不同数据源(如MySQL、PostgreSQL和Hive),特别是如何在SpringBoot3框架下通过... 目录Java实现Kerberos认证主要方法依赖示例续期连接hive遇到的问题分析解决方式扩展思考总

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

SQL Server数据库迁移到MySQL的完整指南

《SQLServer数据库迁移到MySQL的完整指南》在企业应用开发中,数据库迁移是一个常见的需求,随着业务的发展,企业可能会从SQLServer转向MySQL,原因可能是成本、性能、跨平台兼容性等... 目录一、迁移前的准备工作1.1 确定迁移范围1.2 评估兼容性1.3 备份数据二、迁移工具的选择2.1

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

oracle如何连接登陆SYS账号

《oracle如何连接登陆SYS账号》在Navicat12中连接Oracle11g的SYS用户时,如果设置了新密码但连接失败,可能是因为需要以SYSDBA或SYSOPER角色连接,解决方法是确保在连接... 目录oracle连接登陆NmOtMSYS账号工具问题解决SYS用户总结oracle连接登陆SYS账号