MYSQl 连接

原创 2007年09月27日 09:58:00

SQL标准中规划的(Join)联结大致分为下面四种:

1.  内联结:将两个表中存在联结关系的字段符合联结关系的那些记录形成记录集的联结。

2.  外联结:分为外左联结和外右联结。

左联结AB表的意思就是将表A中的全部记录和表B中联结的字段与表A的联结字段符合联结条件的那些记录形成的记录集的联结,这里注意的是最后出来的记录集会包括表A的全部记录。

右联结AB表的结果和左联结BA的结果是一样的,也就是说:

Select A.name B.name From A Left Join B On A.id=B.id

Select A.name B.name From B Right Join A on B.id=A.id执行后的结果是一样的。

3.全联结:将两个表中存在联结关系的字段的所有记录取出形成记录集的联结(这个不需要记忆,只要是查询中提到了的表的字段都会取出,无论是否符合联结条件,因此意义不大)。

4.无联结:不用解释了吧,就是没有使用联结功能呗,也有自联结的说法。


 新建两张表:

  create table emp(
  id int not null primary key,
  name varchar(10)
  );

  create table emp_dept(
  dept_id varchar(4) not null,
  emp_id int not null,
  emp_name varchar(10),
  primary key (dept_id,emp_id));


1.左连接(left join)

挑出左边的 table emp 中的所有资料,即使 emp_dept 中没有的资料也挑出来,没有的就用 NULL   来显示,
也即显示资料是以左边的 table emp 中的资料为基础

  select a.id,a.name,b.dept_id
  from emp a left join emp_dept b on (a.id=b.emp_id);

挑出 table emp 中有而 table emp_dept 中没有的人员资料
  select a.id,a.name,b.dept_id
  from emp a left join emp_dept b on (a.id=b.emp_id)
  where b.dept_id IS NULL;

2.右连接(right  join)
挑资料时以右边 table emp_dept 中的资料为基础来显示资料

 


MySQL 之入门详解(console 控制台命令和设置远程连接)

首先,怎么安装MySQL我就不写了,直接百度MySQL安装,对应上版本号按着步骤来即可。这里说的是怎么在控制台操作MySQL数据库:       在开始程序里面,输入cmd 进入控制台。输入命令:m...

Jmeter如何连接数据库Mysql

最近工作上事情不是很忙,于是有时间将这段时间的做一个总结。 今天这里总结:Jmeter工具如何连接数据库 1. 下载jdbc 的驱动 mysql-connector-java-5.1.41-bi...

sparkSQL连接cassandra和mysql的demo

  • 2017年11月09日 09:33
  • 148KB
  • 下载

JAVA连接MYSQL测试

刚刚安装了mysql,想测试一下,不多说,直接上java实例测试!   测试准备:mysql-connector-java-5.1.6-bin.jar java测试类 package test; ...

android 连接mysql数据库jar包

  • 2017年10月13日 10:32
  • 278KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MYSQl 连接
举报原因:
原因补充:

(最多只允许输入30个字)