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 &
相关文档:
1.它可以被分为三类:数字类型日期类和时间类型,字符串类型。
列类型用于描述:
M:指出最大的显示尺寸。最大的合法显示尺寸为255.
D:适用于浮点类型并之初跟随在十进制小数点后的数码的数量。最大的可能值是30,但是不应大于M.
2.方括号("[","]")指出可选的类型修饰符的部分.
*若指定了列类型为ZEROFILL,MYSQL将该 ......
来源:http://www.blogjava.net/Alpha/archive/2007/07/23/131912.html
//主键549830479
alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);
//增加一个新列549830479
alter table t2 add d timestamp;
alter table infos add ......
mysql文件导入乱码问题的解决:
1 命令察看字符设置。
mysql> show variables like "%char%";
2 将不是utf-8的都改成utf8。只有filesystem不变;
| Variable_name | Value
&nb ......
Mysql常用命令脚本
第一招、mysql服务的启动和停止
net stop mysql
net start mysql
第二招、登陆mysql
语法是 mysql -h主机 -u用户名 -p秘密
例子是 mysql -hlocalhost -uroot -p123456
要确定mysql安装时候勾选了可以远程链接。如果登陆本地计算机,-h可以省略,键入命令mysql -uroot -p, 回车后提示你输入密码, ......
CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
该语句能创建新的视图,如果给定了OR REPLACE子句,该语句还能替换已有的视图。s ......