2017-6-29





连接查询


1.左连接查询(table1 left join table2)
以左表为准,去右表找数据,如果没有匹配的数据,则以null补空位,所以输出结果数>=左表原数据数
2.右连接查询(table1 right join table2)
反之
3.内连接(table1 inner join table2或者table1,table2(省略inner join 写为、,))
查询结果是左右连接的交际(即左右连接的结果去除null项后的并集(去除了重复项))
4.外连接(mysql暂不支持)
即左右连接结果的并集,不去除null项
PS:每次比较都是用一项去与另一个表的所有记录做比较


SELECT dept.deptno 部门编号,sum(emp.sal) 总工资,count(emp.empno) 部门人数,dept.dname 部门名称 
from emp right JOIN dept on emp.deptno = dept.deptno GROUP BY dept.deptno 


PS:表名后面也可以跟AS+新表名


SELECT *,dept.dname 部门名称 FROM (select deptno,sum(sal),count(empno) from emp GROUP BY deptno) a INNER JOIN dept on a.deptno = dept.deptno 


BETWEEN A AND B 大于A小于B


PS:查询的结果就是一个表,可以当做表来操作
例:SELECT a.deptno 部门编号,a.ss 总和,a.ce 人数,dept.dname 部门名称 FROM (select deptno,sum(sal) ss,count(empno) ce
from emp GROUP BY deptno) a INNER JOIN dept on a.deptno = dept.deptno


分页查询
SELECT * FROM TABLENAME LIMIT start,num;//充第start(从0开始)行开始,一共num行
如:limit 0,1就是差第一行








JAVA:连接数据库
String url = "jdbc:mysql://localhost:3306/jdbctest";
String user = "root";
String password = "123456";
Class.forName(driver);
Connection con = DriverManager.getConnection(url,user,password);
if(!con.isClosed){
System.out.println("连接成功");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值