mysql操作 Left join , Right Join, Inner Join
一.先看一些最简单的例子
例子
Table A
aid adate
1 a1
2 a2
3 a3
TableB
bid bdate
1 b1
2 b2
4 b4
两个表a,b相连接,要取出id相同的字段
select * from a inner join
b on a.aid = b.bid这是仅取出匹配的数据.
此时的取出的是:
1 a1 b1
2 a2 b2
那么left join 指:
select * from a left join
b on
a.aid = b.bid
取出a表所有数据,拿b的数据与a比较,相同的取出,不同的b取空值取出
此时的取出的是:
1 a1 b1
2 a2 b2
3 a3 空字符
同样的也有right join
select * from a right join
b on
a.aid = b.bid
取出b表所有数据,拿a的数据与b比较,相同的取出,不同的a取空值取出
此时的取出的是:
1 a1 b1
2 a2 b2
4 空字符 b4
注:
都是在on的条件下
二. left join/right join/inner join操作演示
表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 &
相关文档:
Linux下mysql的安装步骤(非rpm安装)
1 下载mysql-standard-5.0.27-linux-i686-glibc23.tar.gz 包
2 解压到安装目录: tar -zxvf /edass/db/mysql-standard-5.0.27-linux-i686-glibc23.tar.gz
3 将 mysql-standard-5.0.27-linux-i686-glibc23链接到mysql : ln –s mysql-standard-5.0.27-linux-i686 ......
卸载Mysql
[root@localhost ~]# rpm -qa | grep mysql
mysql-3.23.58-9
php-mysql-4.3.4-11
mod_auth_mysql-20030510-4.1
mysql-server-3.23.58-9
说明:rpm –qa | grep mysql 命令是为了把mysql相关的包都列出来,卸载都从最下面的一个包开始,直到卸载掉第一个为止。执行rpm -q php,如果返回php版本, ......
返回一个结果全世界都知道怎么处理,关键是返回多个结果集就不好办了,下面有一解决办法
存储过程代码
DELIMITER $$;
DROP PROCEDURE IF EXISTS `test`.`sp_test`$$
CREATE PROCEDURE `test`.`sp_test` ()
BEGIN
select * from `user`.`user` limit 0, 50;
select coun ......
一般人总是因为目光短浅而错失赚钱机会,larry 在眼光方面总能看的长远,以前一系列的收购足以证明。不过这次拒绝欧盟会给Oracle带来很大的麻烦,欧洲市场不要了? 我猜也许会打官司。 Oracle对SAP向来仇视,这次SAP利用欧盟打了一个漂亮的伏击战,接下来就看Oracle怎么反击了,拭目以待。
......
1、显示数据库列表。
show databases;
刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行好作。
2、显示库中的数据表:
use mysql; //打开库,学过FOXBASE的一定不会陌生吧
show tables;
3、显示数据表的结构:
describe 表 ......