MySQL 多表查询 MySQL 多表查询一使用 SELECT 子句进行多表查询 SELECT 字段名 FROM 表1,表2… WHERE 表 1. 字段=表 2. 字段 AND 其它查询条件 SELECT ,,,,,, FROM tb_demo065_tel AS b,tb_demo065 ASa WHERE = 注: 在上面的的代码中, 以两张表的 id 字段信息相同作为条件建立两表关联, 但在实际开发中不应该这样使用, 最好用主外键约束来实现二使用表的别名进行多表查询如:SELECT ,,,,, FROM tb_demo065 a,tb_demo065_tel b WHERE = AND ='$_POST[textid]' SQL 语言中,可以通过两种方式为表指定别名第一种是通过关键字 AS 指定,如 SELECT ,,,,, FROM tb_demo065 AS a,tb_demo065_tel ASb WHERE = 第二种是在表名后直接加表的别名实现 SELECT ,,,,, FROM tb_demo065 a,tb_demo065_tel b WHERE = 使用表的别名应注意几下几点(1) 别名通常是一个缩短了的表名, 用于在连接中引用表中的特定列, 如果连接中的多个表中有相同的名称列存在, 必须用表名或表的别名限定列名(2) 如果定义了表的别名就不能再使用表名三合并多个结果集 SQL 语言中, 可以通过 UNION 或 ALL 将多个 SELECT 语句的查询结果合并输出,这两个关键字的使用说明如下: UNION: 利用该关键字可以将多个 SELECT 语句的查询结果合并输出, 并删除重复行 ALL: 利用该关键字可以将多个 SELECT 语句的查询结果合并输出,但不会删除重复行在使用 UNION 或 ALL 关键字将多个表合并输出时, 查询结果必须具有相同的结构并且数据类型必须兼容, 另外使用 UNION 时两张表的字段数量也必须相同,否则会提示 SQL 语句有错误。 :SELECT id,name,pwd FROM tb_demo067 UNION SELECT uid,price,date FROM tb_demo067_tel 四简单嵌套查询子查询: 子查询是一个 SELECT 查询,返回单个值且嵌套在 SELECT 、 INSERT 、 UPDATE 和 DELETE 语句或其它查询语句中, 任何可以使用表达式的地方都可以使用子查询. SELECT id,name,sex,date FROM tb_demo068 WHERE id in(SELECT id FROM tb_demo068 WHERE id='$_POST[test]') 内连接:把查询结果作为 WHERE 子句的查询条件即称为内连
MySQL多表查询 来自淘豆网m.daumloan.com转载请标明出处.