首页 > 数据库 >8-MySQL查询高级用法,数据表的关联关系

8-MySQL查询高级用法,数据表的关联关系

时间:2023-09-17 21:12:53浏览次数:48  
标签:关系 goods join 实体 用法 数据表 MySQL id

1.分组 group by

详情见,发布的第七篇博客文章,7- MySQL函数

2.排序 order by

说明:在MySQL中,ORDER BY是一种用于对查询结果进行排序的关键字。它可以根据一列或多列的值,以升序或降序的方式对查询结果进行排序,使得查询者可以更加方便

地查看、分析和处理数据。

使用ORDER BY时,需要指定一个或多个字段名,并可选地指定排序的顺序(升序或降序)。默认情况下,ORDER BY按照升序对结果进行排序。如果想要按照降序排序,需要在字

段名后面加上DESC关键字。

3.分页 limit

4.数据表的对应关系

(1).一对一

(2).一对多

(3).多对多

(4).生活中的相关例子

MySQL中的一对一(1:1)、一对多(1:n)、多对多(n:m)关系是数据库设计中的核心概念,这些关系在现实生活中也有很多实例。以下是一些例子:

一对一(1:1)关系:

在生活中,一对一关系可以理解为两个实体之间的关系,其中一个实体与另一个实体完全匹配。例如,身份证号码和身份证之间的关系。每个人只有一个唯一的身份证号码,而

每个身份证号码也只对应一个人。

一对多(1:n)关系:

一对多关系表示一个实体与另一个实体集合之间的关系,其中一个实体可以与集合中的多个实体相关联。例如,班级和学生之间的关系。一个班级有多个学生,但每个学生只属

于一个班级。

多对多(n:m)关系:

多对多关系表示两个实体集合之间的关系,其中一个集合中的实体可以与另一个集合中的多个实体相关联,反之亦然。例如,学生和课程之间的关系。一个学生可以选择多个课

程,而一个课程也可以有多个学生选择。

5.连接查询

(1).内连接 inner join 表名 on 条件

(2).左连接 left join 表名 on 条件

(3).右连接 right join 表名 on 条件

6.关于MySQL的高级查询用法和数据表之间联系 案例

(1 创建商品分类,商品,购物车,用户表,

(2 商品分类id和商品的商品分类连接,

(3 购物车的商品gid与商品的id连接,

(4 用户的id与购物车的uid连接

如图所示:

(5 要求:查询第一个用户买的商品的分类名,商品的名称,种类,数量,及用户名

代码所示:
select category.cate_name ,goods.goods_name,goods.goods_price,cart.num,user.username from category inner join goods on category.id = goods.cid inner join cart on goods.id = cart.gid inner join user on cart.uid = user.id where user.id = 1;

标签:关系,goods,join,实体,用法,数据表,MySQL,id
From: https://www.cnblogs.com/ljygzyblog/p/guozhengyuan_7.html

相关文章

  • MySQL数据库管理
    1.MySQL数据库管理数据库-->数据表-->行(记录):用来描述一个对象的信息                   列(字段):用来描述对象的一个属性1.2常用的数据类型:int:整型  无符号[0,2^32-1],有符号[-2^31,2^31-1]float:单精度浮点   4字节32位double:双精度浮点......
  • MySQL笔记目录
    MySQL目录本视频学习自尚硅谷的MySQL教程,原地址在这笔记源自官方提供笔记,根据自己的理解重新排版修改、并增添了一些内容初级篇第一章MySQL概述第二章MySQL环境搭建(mysql环境安装、配置、卸载、登录)第三章SQL介绍DDL数据库和表的操作第四章MySQL数据类型......
  • 7-MySQL函数
    1.分组groupby在MySQL中,GROUPBY的意思是“分组查询”,它可以根据一个或多个字段对查询结果进行分组。GROUPBY的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。这可以理解为将数据按照某个字段或者多个字段进行分组。使用GROUPBY......
  • MySQL数据库管理
    MySQL数据库管理数据库-->数据表-->行(记录):用来描述一个对象的信息列(字段):用来描述对象的一个属性常用的数据类型:int:整型无符号[0,2^32-1],有符号[-2^31,2^31-1]float:单精度浮点4字节32位double:双精度浮点8字节64位char:固定长度的字符类型varchar:可变长度的字符类型......
  • MyCLI :易于使用的 MySQL/MariaDB 客户端
    MyCLI的特性当你第一次使用它的时候,将会自动创建一个文件~/.myclirc。当输入SQL的关键词和数据库中的表、视图和列时,支持自动补全。默认情况下也支持智能补全,能根据上下文的相关性提供补全建议。比如:SELECT*FROM<Tab>-这将显示出数据库中的表名。SELECT*FROMu......
  • 如何在第一个查询没有结果时执行第二个查询 - MYSQL
    在MySQL中,您可以使用IFNULL()函数和UNION操作符来实现在第一个查询没有结果时执行第二个查询。下面是一个示例:SELECTcolumn1,column2FROMtable1WHEREconditionUNIONSELECTcolumn1,column2FROMtable2WHEREconditionANDNOTEXISTS(SELECTcolumn1,column2......
  • mysql中的锁
    记录下mysql中的各种锁这些锁的效果的验证要在linux上安装mysql进行测试,如果在本地windows上装mysql有可能不会出现锁的互斥效果。本文使用的mysql版本是5.6一、全局锁全局锁锁的是整个数据库实例,加上全局锁后整个数据库实例下的所有数据库中的所有表都只能进行查询,包括当前......
  • 在MySQL 5.7中使用DECLARE语句的注意事项
    在MySQL执行以下SQL报错DELIMITER//CREATEPROCEDUREgenerate_and_insert_data()BEGINDECLAREiINTDEFAULT1;DECLAREjINTDEFAULT1;DECLAREtotal_iterationsINTDEFAULT1000;WHILEi<=total_iterationsDO--创建临时表用于存储生成......
  • Linux top命令的用法详细详解
    首先介绍top中一些字段的含义: VIRT:virtualmemoryusage虚拟内存1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量RES:residentmemoryusage常驻内存1、进程当前使用的内存大小,......
  • Linux平台卸载MySQL总结
     如何在Linux下卸载MySQL数据库呢?下面总结、整理了一下Linux平台下卸载MySQL的方法。MySQL的安装主要有三种方式:二进制包安装(UsingGenericBinaries)、RPM包安装、源码安装。对应不同的安装方式,卸载的步骤有些不同。文章中如有不足或不对的地方,敬请指出或补充! RPM包安装方......