mysql多表联合查询

MySQL多表联合查询语法:

  1. SELECT   *    FROM   插入表   LEFT JOIN   主表   ON   t1.lvid=t2.lv_id  
  2. select * from mytable,title where 表名1.name=表名2.writer ;  

     mysql版本大于4.0,使用UNION进行查询,示例如下:

  1. SELECT `id`, `name`, `date`, ‘’ AS `type` FROM table_A WHERE 条件语句……  
  2. UNION  
  3. SELECT `id`, `name`, `date`, ‘未完成’ AS `type` FROM table_B WHERE 条件语句……  
  4. ORDER BY `id` LIMIT num;  

UNION:利用该关键字可以将多个SELECT 语句的查询结果合并输出,并删除重复行
ALL:利用该关键字可以将多个SELECT 语句的查询结果合并输出,但不会删除重复行
在使用UNION或ALL关键字将多个表合并输出时,查询结果必须具有相同的结构并且数据类型必须兼容,另外使用UNION时两张表的字段数量也必须相同,否则会提示SQL语句有错误。
e.x: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子句的查询条件即称为内连接

 

posted @ 2015-09-07 14:45  齐小智  阅读(306)  评论(0编辑  收藏  举报