一、运用SELECT子句举行多表查询
SELECT 字段名 FROM 表1,表2 … WHERE 表1.字段 = 表2.字段 AND 别的查询前提
例:
SELECT 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字段信息雷同作为前提竖立两表关联,但在现实开辟中不应该如许运用,最好用主外键束缚来完成
二、运用表的别号举行多表查询
示例:
SELECT 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 AND b.id='$_POST[textid]'
SQL语言中,能够经由过程两种体式格局为表指定别号:
1、经由过程关键字AS指定,如
SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 AS a,tb_demo065_tel AS b WHERE a.id=b.id
2、在表名后直接加表的别号完成
SELECT 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
运用表的别号应注重几下几点
● (1别号通常是一个缩短了的表名,用于在衔接中援用表中的特定列,假如衔接中的多个表中有雷同的称号列存在,必需用表名或表的别号限制列名
● 假如定义了表的别号就不能再运用表名
三、简朴嵌套查询(子查询、内衔接)
子查询:子查询是一个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子句的查询前提即称为内衔接
SELECT filedlist FROM table1 [INNER] JOIN table2 ON table1.column1 = table2.column1
个中,filedlist是要显现的字段,INNER示意表之间的衔接体式格局为内衔接,table1.column1=table2.column1用于指明两表间的衔接前提,如:
SELECT a.name,a.address,a.date,b.chinese,b.math,b.english FROM tb_demo065 AS a INNER JOIN tb_demo065_tel AS b on a.id=b.id
四、庞杂的嵌套查询
多表之间的嵌套查询能够经由过程谓词IN完成,语法花样以下:
test_expression[NOT] IN{ subquery }
参数申明:test_expression指SQL表达式,subquery包括某效果集的子查询
多表嵌套查询的道理:不管是多少张表举行嵌套,表与表之间肯定存在某种关联,经由过程WHERE子句竖立此种关联完成查询
五、多表团结查询
应用SQL语句中的UNION,能够将差别表中相符前提的数据信息显现在统一列中。例:
SELECT * FROM tb_demo074_student UNION SELECT * FROM tb_demo074_fasten
运用UNION时应注重以下两点:
● 在运用UNION运算符组合的语句中,一切挑选列表的表达式数量必需雷同,如列名、算术表达式及聚合函数等
● 在每一个查询表中,对应列的数据结构必需一样。
六、庞杂内衔接查询
庞杂的内衔接查询是在基础的内衔接查询的基础上再附加一些查询前提,如:
SELECT a.name,a.address,a.date,b.chinese,b.math,b.english FROM tb_demo065 AS a INNER JOIN tb_demo065_tel AS b on a.id=b.id WHERE b.id=(SELECT id FROM tb_demo065 WHERE tb_demo065.name='$_POST[text]')
总之,完成表与表之间的关联的实质是两表之间存在配合的数据项或许雷同的数据项,经由过程WHERE 子句或内衔接INNER JOIN … ON 语句将两表衔接起来,完成查询。
以上就是MySQL怎样举行多表查询?(代码示例)的细致内容,更多请关注ki4网别的相干文章!