- 浏览: 92982 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
xiaoyi829:
应该可以grzrt 写道分区表partition,能用hand ...
初识mysql插件之HandlerSocket -
grzrt:
分区表partition,能用handlersocket查询指 ...
初识mysql插件之HandlerSocket
表A记录如下:
aID aNum
1 a20050111
2 a20050112
3 a20050113
4 a20050114
5 a20050115
表B记录如下:
bID bName
1 2006032401
2 2006032402
3 2006032403
4 2006032404
8 2006032408
实验如下:
1.left join
sql语句如下:
SELECT *
FROM A
LEFT JOIN B
ON A.aID = B.bID
结果如下:
aID aNum bID bName
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
5 a20050115 NULL NULL
(所影响的行数为 5 行)
结果说明:
left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID).
B表记录不足的地方均为NULL.
2.right join
sql语句如下:
SELECT *
FROM A
RIGHT JOIN B
ON A.aID = B.bID
结果如下:
aID aNum bID bName
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
NULL NULL 8 2006032408
(所影响的行数为 5 行)
结果说明:
仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.
3.inner join
sql语句如下:
SELECT *
FROM A
INNER JOIN B
ON A.aID = B.bID
结果如下:
aID aNum bID bName
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
结果说明:
很明显,这里只显示出了 A.aID = B.bID的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录.
-----------------[以下为网上的一点资料]------------------
LEFT JOIN操作用于在任何的 FROM 子句中,组合来源表的记录。使用 LEFT JOIN 运算来创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。
语法:
FROM table1 LEFT JOIN table2 ON table1.field1 compopr table2.field2
说明:
① table1, table2参数用于指定要将记录组合的表的名称。
② field1, field2参数指定被联接的字段的名称。且这些字段必须有相同的数据类型及包含相同类型的数据,但它们不需要有相同的名称。
③ compopr参数指定关系比较运算符:"=", "<", ">", "<=", ">=" 或 "<>"。
④ 如果在INNER JOIN操作中要联接包含Memo 数据类型或 OLE Object 数据类型数据的字段,将会发生错误。
aID aNum
1 a20050111
2 a20050112
3 a20050113
4 a20050114
5 a20050115
表B记录如下:
bID bName
1 2006032401
2 2006032402
3 2006032403
4 2006032404
8 2006032408
实验如下:
1.left join
sql语句如下:
SELECT *
FROM A
LEFT JOIN B
ON A.aID = B.bID
结果如下:
aID aNum bID bName
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
5 a20050115 NULL NULL
(所影响的行数为 5 行)
结果说明:
left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID).
B表记录不足的地方均为NULL.
2.right join
sql语句如下:
SELECT *
FROM A
RIGHT JOIN B
ON A.aID = B.bID
结果如下:
aID aNum bID bName
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
NULL NULL 8 2006032408
(所影响的行数为 5 行)
结果说明:
仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.
3.inner join
sql语句如下:
SELECT *
FROM A
INNER JOIN B
ON A.aID = B.bID
结果如下:
aID aNum bID bName
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
结果说明:
很明显,这里只显示出了 A.aID = B.bID的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录.
-----------------[以下为网上的一点资料]------------------
LEFT JOIN操作用于在任何的 FROM 子句中,组合来源表的记录。使用 LEFT JOIN 运算来创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。
语法:
FROM table1 LEFT JOIN table2 ON table1.field1 compopr table2.field2
说明:
① table1, table2参数用于指定要将记录组合的表的名称。
② field1, field2参数指定被联接的字段的名称。且这些字段必须有相同的数据类型及包含相同类型的数据,但它们不需要有相同的名称。
③ compopr参数指定关系比较运算符:"=", "<", ">", "<=", ">=" 或 "<>"。
④ 如果在INNER JOIN操作中要联接包含Memo 数据类型或 OLE Object 数据类型数据的字段,将会发生错误。
发表评论
-
mysql dump 备份及脚本!
2011-06-10 13:38 1552导出多张表的时候表之间用空格分开: # mysqldump ... -
mysql备份脚本
2011-06-03 17:32 683!/bin/sh # mysql_backup.sh: bac ... -
CentOS挂载移动硬盘
2011-06-03 15:12 10951, 首先确认fuse,CentOS 5.5 带有fuse,可 ... -
[转]CentOS5 下安装与配置飞鸽传书(Ipmsg)完美完结篇
2011-05-27 10:29 1560CentOS5 下安装与配置飞鸽传书(Ipmsg)完美完结篇 ... -
深入SQL语句性能调整
2011-05-17 13:20 861本文sqlserver为例 有 ... -
windows和linux下开启mysql日志
2011-05-11 10:24 2322mysql有以下几种日志: 错误日志: -log-err 查询 ... -
MYSQL数据库设计的一点总结
2011-04-13 14:48 702选表类型: 大家都知道 ... -
mysql 清理碎片
2011-04-13 09:59 915显示你数据库中存在碎片的全部列表: select tab ... -
MySQL 建表语法
2011-04-12 14:21 7991、最简单的: CREATE TABLE t1( id ... -
排序时最快的取出尽量少的字段且索引字段
2011-04-11 15:51 831select company_albums.id,compan ... -
MySQL性能优化
2011-04-02 10:53 730作者:andyao 原文link: http://andyao ... -
Mysql Innodb 引擎优化-参数
2011-03-30 16:49 769介绍: InnoDB给MySQL提供了具有提交,回滚和崩溃 ... -
MySQL前端和后台的系统优化
2011-03-30 16:39 797本文中介绍的系统优化 ... -
MySQL配置文件my.cnf 做笔记用
2011-03-30 16:33 800MySQL配置文件my.cnf 例子最详细翻译,可以保存做笔记 ... -
测试脚本mysql_插入100万行数据
2011-03-29 16:31 1359CREATE DEFINER=`root`@`localhos ... -
Mysql日期和时间函数
2011-03-29 15:50 674这里是一个使用日期函 ... -
MySQL数据库优化的具体方法说明
2011-03-29 15:39 760以下的文章主要讲述的是实现MySQL数据库简单实用优化的具体方 ... -
MySQL之Explain
2011-03-29 15:16 622前记:很多东西看似简 ... -
MySQL维护命令集锦--查看表的状态(show table status)
2011-03-29 15:11 1229查看表的引擎类型等状态信息: show table statu ... -
mysql show status参数详解
2011-03-29 15:03 970Aborted_clients 由于客户没有正确 ...
相关推荐
主要介绍了MYSQL 左连接右连接和内连接的详解及区别的相关资料,需要的朋友可以参考下
根据文件中提供的信息,我们可以详细探讨MySQL中的不同连接类型,包括左连接(LEFT JOIN)、右连接(RIGHT JOIN)、内连接(INNER JOIN)以及等值连接的概念和它们之间的异同。 首先,我们需要明确什么是“连接”...
本文将深入探讨三种主要的连接类型:左外连接、右外连接和内连接,并通过具体的例子来阐述它们之间的区别。 首先,让我们从内连接(INNER JOIN)开始。内连接返回的是两个表中满足特定连接条件的记录。在示例中,`...
MYSQL数据库中关于左连接右连接和内连接的区别.doc
MySQL 左连接与右连接详解 MySQL 中的连接操作是指将两个或多个表中的数据结合起来,以便更好地查询和分析数据。左连接(LEFT JOIN)和右连接(RIGHT JOIN)是两种常见的连接类型,本文将详细介绍它们的区别和使用...
本文将深入讲解MySQL的左连接、右连接以及内连接的用法,并通过实例进行解析。 首先,我们创建了两个表`user_id`和`user_profile`。`user_id`存储独立的ID,而`user_profile`除了ID外还有名字(name)字段。然后,...
在MySQL中,我们经常使用三种类型的连接:左连接(LEFT JOIN)、右连接(RIGHT JOIN)和内连接(INNER JOIN)。这些连接方式根据不同的需求,可以提供不同程度的数据组合。 首先,左连接(LEFT JOIN)以左侧表格...
外连接分为两种主要类型:左外连接和右外连接,每种类型都有其特定的用途和效果。 1. 左外连接(LEFT OUTER JOIN): 左外连接的结果集会包含左表(即在JOIN语句之前指定的表)的所有行,即使右表中没有与之匹配的...
LEFT JOIN,也称为左连接,它的基本语法是:`FROM table1 LEFT JOIN table2 ON condition...`。这种连接方式会返回左表(table1)的所有记录,即使在右表(table2)中没有找到匹配的记录。对于那些在右表中找不到...
MySQL 提供了多种连接类型,包括 INNER JOIN(内连接)、LEFT JOIN(左连接)和 RIGHT JOIN(右连接)。这些连接方式主要根据不同的数据需求,确定如何处理两表之间的匹配关系。 1. INNER JOIN(内连接) INNER ...
**DBeaver 连接 MySQL 数据库的详细步骤** DBeaver 是一款强大的数据库管理工具,因其免费、开源且支持多种数据库的特点,深受开发者和DBA的青睐。它提供了直观的用户界面,使得数据库的管理和操作变得更加简单。...
为便于更多的技友快速读懂、理解,我们只讨论2张表对象进行连接操作的情况,大于2张表对象进行的连接操作原理也是一样的。SELECTM.columnname……,N.*columnname…..FROMleft_tableMLEFTJOINright_table NONM.column...
打开数据库连接,正常显示中文标签,正常显示负号,使用 execute() 方法执行 SQL 查询
在MySQL中,虽然不直接支持全外连接,但可以通过结合左外连接和右外连接达到相同的效果。例如,`SELECT * FROM voteMaster vm LEFT OUTER JOIN voter vt ON vm.id=vt.id UNION ALL SELECT * FROM voteMaster vm ...
MySQL支持多种类型的连接,包括内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL OUTER JOIN)。其中: 1. 内连接:返回两个表中存在匹配的记录,只包含匹配的行。 2. 左连接:返回...