您的位置:首页 > 数据库

关于数据库查询的那些事~

2020-08-02 19:48 253 查看

单表查询

基本格式:select (列名)from (表名)where (条件);
在where之后加入自己所要的筛选条件 ,就是普通的语法。
查询所有列;select *(通配符) from (表名);

查询时加入统计

查询某列共有多少元素,使用count() - ->select count() from (表名);
查询某一列的平均值- - >select avg() from (表名);
查询某一列的总和值- - >select sum() from (表名);
查询某一列的最大值- - >select max() from (表名);
查询某一列的最小值- - >select min() from (表名);

多表查询

多表查询是需要建立连接,连接有很多种,1.等值连接,2.内连接,3.左外连接,4.右外连接,5.自连接。

等值连接

简单地将两个表格根据需要的条件连接起来,当然两个表之间也得有所联系,例如:
显示所有员工和所在部门的信息
select * from emp(员工表),dept(部门表) where emp.dno=dept.dno;

内连接

效果与等值连接一致,基本格式:select * from emp e inner join dept d on e.dno=d.dno;此处我理解的是和java创建对象一个意思,然后通过创建的对象调用属性。

左外连接&&右外连接

简单来说,就是有两个表,左外连接就是把其中一个表放在左边不动,不管另一表如何如何怎样怎样,左边那个表始终完全显示。
select * from emp e LEFT JOIN dept d on e.dno = d.dno;
右外连接同样如是。
select * from emp e RIGHT JOIN dept d on e.dno = d.dno;

自连接

自连接就是一个表创建两个对象实例,再通过实例调用属性,此部分类似等值连接,只不过在后面加上了条件。
查询与猪八戒同一个部门的其他员工信息
select e2.* from emp e1,emp e2 where e1.dno = e2.dno and e1.ename=‘猪八戒’;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: