mysql:联合查询

SELECT t1.name, t2.salary  FROM employee AS t1 INNER JOIN info AS t2 ON t1.name = t2.name; 可以对数据表使用别名

select t1.id,t2.id
from t1
left join t2 on t1.id = t2.id and t1.id>1 and t2.id<>3

http://wenku.baidu.com/link?url=r-ks3kd0ZtGJtLW9vKq_B7kAEJtugvPaCV1NMitCesHi1DJWip50P44R6Ck076bDFyyKw1caIKpPyLP5yWympLGoqP25QHJN2A0sKHyhKLe

在mysql的left join中条件放在on后面和在where后面是不同的;

1. on后面只针对于t2表进行过滤,所以上面的t1.id>1将不起作用,切记,切记;

2. where后面会对最终结果产生影响,所以如果t2.id<>3放到on后面和where后面也是会返回不同的结果;

例如下面脚本一会比脚本二多返回一些数据。

http://database.51cto.com/art/201011/234480.htm

select * from test2
left join test1 on test2.id = test1.id and test1.id<>3
where test2.id <>6;
select * from test2
left join test1 on test2.id = test1.id
where test2.id <>6 and test1.id<>3;

时间: 2024-10-13 09:18:52

mysql:联合查询的相关文章

MySQL联合查询语法内联、左联、右联、全联

MySQL联合查询效率较高,以下例子来说明联合查询(内联.左联.右联.全联)的好处: T1表结构(用户id,用户名,密码)   userid   username  password 1   jack jackpwd    2   owen   owenpwd T2表结构(用户id,用户积分,用户等级)   userid(int)   jifen   dengji     1    20   3       3    50    6 第一:内联( inner join )如果想把用户信息.积分.

【转】Mysql联合查询union和union all的使用介绍

Mysql的联合查询命令UNION和UNION ALL,总结了使用语法和注意事项,以及学习例子和项目例子,需要的朋友可以参考下 一.UNION和UNION ALL的作用和语法 UNION 用于合...... Mysql的联合查询命令UNION和UNION ALL,总结了使用语法和注意事项,以及学习例子和项目例子,需要的朋友可以参考下 一.UNION和UNION ALL的作用和语法 UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行. UNION 内部的 SELECT

Mysql联合查询UNION和UNION ALL的使用介绍

UNION和UNION ALL的作用和语法 UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行.UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必须相同.SQL UNION 语法: SELECT column_name FROM table1UNIONSELECT column_name FROM table2 注释:默认地,UNION 操作符选取不同的值.如果允许重复的值,请使用 U

MySQL联合查询

下面具体讲讲简单的JOIN的用法了.首先我们假设有2个表A和B,他们的表结构和字段分别为: 表A: ID Name 1 Tim 2 Jimmy 3 John 4 Tom 表B: ID Hobby 1 Football 2 Basketball 2 Tennis 4 Soccer 1.  内联结:Select A.Name, B.Hobby from A, B where A.id = B.id,这是隐式的内联结,查询的结果是: Name Hobby Tim Football Jimmy Bask

MySQL联合查询和左关联的区别

我把这个定义为联合查询或者说并查询: 第1种:SELECT a.gbname,b.gcontent FROM tb_goodsbrand a,tb_goods b WHERE a.gbid = b.gbid 结果为: #======================================================================== 我们在用左连接来查询: 第2种:SELECT a.gbname,b.gcontent FROM tb_goodsbrand a LEF

MySQL 联合查询

联合查询:将多次查询(多条select语句), 在记录上进行拼接(字段不会增加) 基本语法:多条select语句构成: 每一条select语句获取的字段数必须严格一致(但是字段类型无关) 语法 Select 语句1 Union [union选项] Select 语句2 Union选项: 与select选项一样有两个 All: 保留所有(不管重复) Distinct: 去重(整个重复): 默认的 例如 -- 表一 SELECT * FROM prospect; +---------+-------

七、mysql联合查询

参考url:https://www.bilibili.com/video/BV12b411K7Zu UNION 联合 合并:将多条查询语句的结果合并成一个结果 语法: 查询语句1 Union 查询语句2 Union ... 应用场景:要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息一致时. 特点: 1) 要求多条查询语句的查询列数是一致的 2) 要求多条查询语句的查询的每一列的类型和顺序最好一致 3) Union关键字默认去重,如果使用union all可以包含重复项 案例:查

MySql联合查询Union

记一条很长的sql,为了方便阅读,我已经加了段落: SELECT * FROM ( (SELECT 1 AS acheck, s1.id, s1.plan_name, s1.cost_mode, s1.sta_type, s1.cost_type, s1.cost_period_time, s1.cost_period_value, s1.`carrier_operator`,s1.cost_settle_type FROM wo_serviceplan s1 JOIN wo_servicepl

mysql 联合查询后update

SELECT a.user_name,a.avatar,a.nicheng,a.user_rank,b.rank_name,b.rank_img FROM ecs_users a , ecs_user_rank b WHERE user_id in(14495) and a.rank_points >= b.min_points and a.rank_points <= b.max_points ; update ecs_users a,ecs_user_rank bset a.user_ra

MySQL的查询,子查询,联结查询,联合查询

一.mysql查询的五种子句where(条件查询).having(筛选).group by(分组).order by(排序).limit(限制结果数) 二.子查询1.where 子查询SELECT * FROM tb1 WHERE cat_id IN (SELECT max(id) FROM tb2 GROUP BY cat_id); 2.from 子查询SELECT t2_id FROM (SELECT t2_id FROM tb2 ORDER BY t2_id DESC); 3.exists