热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【400天挑战】热爱解题系列第157期(2018年3月10日)

在“跃迁之路”专栏中,我们将继续深入探讨SQL习题,本期重点是巩固MySQL多表查询的基础。具体操作包括创建一个名为`day09_exercise`的数据库,以帮助读者更好地理解和实践相关知识点。通过这一练习,读者可以进一步提升对多表查询的理解和应用能力。

@(跃迁之路)专栏

叨叨两句

  1. ~

SQL习题052——MySQL多表查询基础巩固

--新建一个day09_exercise的数据库

create database day09_exercise;
use day09_exercise;

-- 用户表(user)
create table user (

`id` int auto_increment primary key, `username` varchar(50) -- 用户姓名 );

-- 订单表(orders)
create table orders (

`id` int auto_increment primary key, `price` double, `user_id` int );

-- 给订单表添加外键约束
alter table orders add constraint user_fk foreign key (user_id) references user(id);

-- 向user表中添加数据

insert into user values(3,'张三');insert into user values(4,'李四');insert into user values(5,'王五');insert into user values(6,'赵六');

-- 向orders 表中插入数据

insert into orders values(1,1314,3);insert into orders values(2,1314,3);insert into orders values(3,15,4);insert into orders values(4,315,5);insert into orders values(5,1014,null);

练习:
--查询用户的订单,没有订单的用户不显示

select *from user,orders where user.id=orders.user_id;
或者select * from user join orders on user.id=orders.user_id;

--查询所有用户的订单详情

select *from user left join orders on user.id=orders.user_id;

--查询所有订单的用户详情

select *from user right join orders on user.id=orders.user_id;

练习:
--查看用户为张三的订单详情

思路:查看用户为张三的订单详情select id from user where username = "张三";select * from orders where user_id = ?合二为一:
答案:select * from orders where user_id = (select id from user where username = "张三");

--查询出订单的价格大于300的所有用户信息。

思路:select user_id from orders where price>300;-- 3 3 5 null
select * from user where id in ();合二为一:
答案:select * from user where id in (select user_id from orders where price>300);

--查询订单价格大于300的订单信息及相关用户的信息。

SELECT *FROM USER,orders WHERE user.id=orders.user_id AND orders.price > 300;



推荐阅读
  • 在使用 PHP 通过 SSL 安全连接到 MySQLi 数据库服务器时,遇到了一些技术难题。我的环境包括一个 Web 服务器和一个数据库服务器,两者均使用 OpenSSL 生成了证书。尽管证书内容一致,但在尝试从 Web 服务器使用 `mysql` 命令进行连接时,仍然遇到了问题。为了确保连接的安全性和稳定性,需要进一步检查证书配置和 PHP 的 SSL 设置,以排除潜在的配置错误或兼容性问题。 ... [详细]
  • Oracle培训(三十七)——深入解析Hibernate第三章:实体关联关系映射详解
    在本节Oracle培训中,我们将深入探讨Hibernate第三章的内容,重点讲解实体关联关系映射的详细知识点。首先,回顾了Hibernate的基本概念和映射基础,随后详细分析了不同类型的实体关联关系,包括一对一、一对多和多对多关系的映射方法及其应用场景。通过具体的示例和代码片段,帮助读者更好地理解和掌握这些复杂的映射技术。此外,还讨论了如何优化关联关系的性能,以及常见的问题和解决方案。 ... [详细]
  • MySQL 5.6 引入了全局事务标识符(GTID)和多线程复制机制,显著提升了数据库的可靠性和性能。GTID 作为一种新的事务标识方式,确保了事务在主从节点间的一致性,避免了传统基于日志位置的复制可能出现的问题。多线程复制则通过并行处理多个复制任务,大幅提高了复制效率,特别是在大型数据库环境中表现更为突出。这些新特性不仅增强了 MySQL 的高可用性和扩展性,还为数据库管理带来了更多灵活性和便利性。 ... [详细]
  • c#学Java–Java基本语法1.类比JAVA .NETJVM CLRJDK  FCL2.java命名约定类名称应以大写字母开头,并成为容易理解的名词或组合。如 ... [详细]
  • MySQL 中的内连接、左外连接、右外连接及全外连接详解
    本文通过两个示例表 `a_table` 和 `b_table`,以 `a_table.a_id` 和 `b_table.b_id` 作为关联字段,详细介绍了 MySQL 中的内连接、左外连接、右外连接以及全外连接的概念和使用方法。文章不仅解释了每种连接类型的原理,还提供了具体的 SQL 查询示例,帮助读者更好地理解和应用这些连接方式。 ... [详细]
  • 确保数据完整性:常见约束机制及其应用
    本文探讨了数据完整性的重要性,并详细介绍了其主要分类,包括实体完整性、域完整性、参照完整性和用户定义的完整性。文章还深入分析了几种常见的约束机制,如主键约束(PRIMARY KEY)、非空约束(NOT NULL)等,以及它们在实际应用中的具体作用和实施方法。通过这些内容,读者可以全面了解如何确保数据库中的数据完整性,从而提高数据质量和系统可靠性。 ... [详细]
  • 本文介绍了一个基于C++标准库实现的INI文件读写操作类。该类在现有网络资源的基础上进行了扩展和优化,增加了获取当前可执行文件路径和宽字节与多字节字符串转换的功能。通过这些增强功能,该类能够更好地适应各种应用场景,提高代码的可移植性和健壮性。具体实现细节请参见 `IniFileSTL.h` 文件。 ... [详细]
  • 在安装 Greenplum 的过程中,正确配置 `gpinitsystem_config` 文件是至关重要的一步。本文详细介绍了如何优化该文件,以确保数据库集群的高效初始化和稳定运行。通过调整关键参数,用户可以更好地适应不同的硬件环境和业务需求,从而提升系统的整体性能。 ... [详细]
  • 在MySQL权限管理实践中,新安装的MySQL系统可能会遇到连接问题,如root用户无法访问。本文总结了相关解决方案,包括如何创建新账户(例如:用户名为test,密码为12),并详细介绍了权限分配和管理的策略,以确保系统的安全性和稳定性。 ... [详细]
  • SQL开发笔记:深入探索不常见的知识点与技巧 ... [详细]
  • 本文详细介绍了在 CentOS 6.7 x64 环境下配置 MySQL 5.6.29 的 GTID 主从复制方法。主库 IP 为 192.168.0.65,备库 IP 为 192.168.0.66。通过逐步指导,帮助读者顺利实现高可用性和数据一致性。 ... [详细]
  • 简介springboot开启事务很简单,只需要一个注解Transactional就可以了。因为在springboot中已经默认对jpa、jdbc、mybatis开启了 ... [详细]
  • 2023年6月19日:重要日期回顾与展望
    13.1设置更改root密码更改MySQL数据库root密码1.首次进入数据库是不用密码的,如下所示: usrlocalmysqlbinmysql-uroot       使用绝对 ... [详细]
  • 数据压缩与编解码技术优化
    编码的种类  编码(Encoding)在认知上是解释传入的刺激的一种基本知觉的过程。技术上来说,这是一个复杂的、多阶段的转换过程,从较为客观的感觉输入& ... [详细]
  • 在我的项目中,我访问MySQL数据库。我可以通过该程序在此数据库中调用并运行查 ... [详细]
author-avatar
Joanna阿咪个_995
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有