MySQL子查询与连接技术详解及应用实例.pdfVIP

  • 0
  • 0
  • 约1.52千字
  • 约 5页
  • 2026-03-11 发布于北京
  • 举报

MySQL子查询与连接技术详解及应用实例.pdf

子查询和连接

一.由比较运算符的子查询:

,,=,!=(),=,=

✓查询的商品

当子查询返回多个值时,需要在比较运算符后加上关键字:ANY、SOME、ALL

当用到这些关键字后,子查询返回的值为:

ANYSOMEALL

、=最小值最小值最大值

、=最大值最大值最小值

=任意值任意值

、!=任意值

✓取出商品种类为3的商品的价格

假设其返回值为3个:500、700、900

若使用如下子查询语句,则子查询返回的结果为500,即查询大于商品种类为3

中的任意一个商品的价格的商品。

二.由[NOT]IN的子查询

=ANY运算符与IN等效

!=ANY或运算符与NOTIN等效

✓取出每个种类下的产品(goods_id唯一)

三.EXISTS型子查询(把外层查询结果拿到内层,看内层的查询是否成立)

✓查询哪些种类下有商品,商品种类表category,商品表goods

内连接:显示左表及右表符合连接条件的记录

查询结果是左右连接的交集,

语法:SELECTn1,n2,n3FROMtb1INNERJOINtb2ONtb1.n1=tb2.n2;

左连接:显示左表的全部记录及右表符合连接条件的记录

以左表为准,去右表找数据,如果没有匹配的数据,则以NULL补空位。

语法:SELECTn1,n2,n3FROMtb1LEFTJOINtb2ONtb1.n1=tb2.n2

###这里ON后面的表达式,不一定为=,也可以,等算术、逻辑运算符,连接完

成后,可以当成一张新表来看待,运用where等查询###

✓取出价格最高的五个商品,并显示商品的分类名称

右连接:显示右表的全部记录及左表符合连接条件的记录

aLEFTJOINb等价于bRIGHTJOINa

语法:SELECTn1,n2,n3FROMtb1RIGHTJOINtb2ONtb1.n1=tb2.n2

我们就教学中分类表设计中的例子进行详解,帮助大家更好的理解自身连接。

下图为无限级分类表tbd_goods_types中的全部记录:

✓查看所有的子类以及它父类(即上一级分类名字)

type_name

查找结果为:

✓查看所有父类以及父类下的子类(即下一级分类的名字)

type_name

查找结果为:

文档评论(0)

1亿VIP精品文档

相关文档