太阳集团tyc5997|官网【中国】有限公司

MySQL多表查询的具体例子
  • 作者:admin
  • 发表时间:2021-01-22 07:52
  • 来源:未知

这个张文主要介绍了一个MySQL多表查询的具体例子。文中详细介绍了样例代码,对大家的学习或工作有一定的参考学习价值。需要它的朋友将和边肖一起学习。

1.使用SELECT子句的多表查询

从表1、表2 …表1中选择字段名。field=表2。字段和其他查询条件

1选择a.id,a.name,a.address,a.date,b.math,b.english,b.chinese FROM tb_demo065_tel AS b,tb_demo065 AS a WHERE a.id=b.id

注:在上面的代码中,两个表的关联是在两个表的id字段信息相同的情况下建立的,但实际开发中不应该用到,最好使用主键和外键约束。

其次,使用表的别名来查询多个表

比如:

1选择a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 a,TB _ demo 065 _ tel b WHERE a . id=b . id AnD b . id=' $ _ POST[textid]'

在SQL语言中,有两种方法可以为表分配别名

第一个由关键字AS指定,例如

1选择a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 AS a,TB _ demo 065 _ tel AS b WHERE a . id=b . id

第二种是直接在表名后面添加表的别名

1选择a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 a,tb_demo065_tel b WHERE a.id=b.id

使用表格别名应注意的几个问题

别名通常是一个缩短的表名,用于在连接中引用表中的特定列。如果连接中的多个表中存在同名列,则列名必须由表名或表别名限定

如果定义了表的别名,则不能再使用表名

三重合并多个结果集

在SQL语言中,多个SELECT语句的查询结果可以通过UNION或ALL组合输出。这两个关键词的使用说明如下:

UNION:可以用这个关键字组合多个SELECT语句的查询结果,删除重复的行

ALL:可以使用此关键字合并并输出多个SELECT语句的查询结果,但不会删除重复的行

当使用UNION或ALL关键字合并和输出多个表时,查询结果必须具有相同的结构和兼容的数据类型。此外,在使用UNION时,两个表中的字段数量必须相同,否则,将提示SQL语句出现错误。

1e.x:SELECT id,name,pwd FROM TB _ demo 067 UNION SELECT uid,price,date FROM tb_demo067_tel

四个简单的嵌套查询

子查询:是一个SELECT查询,它返回一个值,嵌套在SELECT、INSERT、UPDATE和DELETE语句或其他查询语句中。

1选择id、姓名、性别、日期从tb_demo068中的位置id(选择id从tb_demo068中的位置id='$_POST[test]')

内部联接:将查询结果作为WHERE子句的查询条件,称为内部联接

五个复杂的嵌套查询

多个表之间的嵌套查询可以通过谓词IN实现,语法格式如下:

Baidu
sogou