当前位置: 首页 > news >正文

基础SQL语法语句大全(一篇学会所有SQL语句)

 

 如:select distinct name from student;

 如:select name,salary from employee where deptno = 3;

 如:select * from employees where deptno = 3 and salary>-5000;(两个条件同时满足)

select * from employees where (deptno =3 or depton =1) and salary < 5000;

 如:select * from dept where loc like '一楼%';(表示查找loc字段中以一楼开头的数据,显示满足条件的所有字段对应的信息)。类似的还有%一楼%(数据中包含一楼的),%一楼(数据以一楼结尾的)

 如:select name from employees where empno not in (3,5);

select name from employees where deptno in (select depton from dept where loc like '一楼%');

 如:select name from employees where hiredate between '2013-01-01' and '2013-12-31';

否定句:select name from employees where hiredate not between '2013-01-01' and '2013-12-31';

 如:select name, hiredate from employees order by hiredate;(查询employees表中的name,hiredate字段的所有数据,按照hiredate字段进行默认的降序排序)
注意:order by 要写在条件或分组的后面,因为要先查询出需要的数据,才会对需要的数据进行排序。

 如:update employees set deptno = 2,manager = 4 where empno =4;(更新employees表中empno=4的相应字段的数据)

 如:delete from employees where empno = 9;(删除employees表中empno=9的那行数据)

 如:create index in_name on employees(name);(在employees表中的name字段上创建一个名为in_name的索引)

 如:创建一个名为employees_2015的视图,视图内容为hiredate<'2015-01-01'的name、salary字段的数据

create view employees_2015 as select name,salary from employees where hiredate < '2015-01-01';

 

 注意:修改视图的数据,本质上是从底层进行修改,所以修改视图的数据,原始数据也被修改了。

 如:select * from employees where manager is not null;

 

 如:select name 姓名, salary 工资 from employees e;(表示设置字段name的别名为姓名,salary的别名为工资,表employees的别名为e)

注意:设置别名还可以用于函数中,如:

select count(*) 总人数 from employees;

 内连接:两个表同时满足条件的数据,即交集。 

左连接:左表中所有数据+右表中符合条件的数据。

 右连接:右表中所有数据+左表中符合条件的数据。

如:

内连接:select name,title from employees inner join managers on employees.empno = managers.empno; 

左连接:select name,title from employees left join managers on employees.empno = managers.empno; 

内连接:select name,title from employees right join managers on employees.empno = managers.empno; 

也就是嵌套查询 

如:select name from employees where deptno in (select deptno from dept where loc like '二楼%');

 select * from managers where empno not in (select empno from employees);

SQL 中五个常用函数:count()、max()、min()、avg()、sum();

 1)案例实操:

(1)计算 emp 表每个部门的平均工资
hive (default)> select t.deptno, avg(t.sal) avg_sal from emp t group by
t.deptno;
(2)计算 emp 每个部门中每个岗位的最高薪水
hive (default)> select t.deptno, t.job, max(t.sal) max_sal from emp t
group by t.deptno, t.job;

  注意:having和where的功能差不多,但处理的对象不同,having专门处理group by分组的数据,通常情况下,有group by的语句中才会有having。

1 having where 不同点
(1) where 后面不能写分组函数,而 having 后面可以使用分组函数。
(2) having 只用于 group by 分组统计语句。
2 )案例实操
(1)求每个部门的平均薪水大于 2000 的部门
求每个部门的平均工资
hive (default)> select deptno, avg(sal) from emp group by deptno;
求每个部门的平均薪水大于 2000 的部门
hive (default)> select deptno, avg(sal) avg_sal from emp group by deptno
having avg_sal > 2000;

参考b站视频:38分钟学会SQL语句sql_哔哩哔哩_bilibili

http://www.xdnf.cn/news/828991.html

相关文章:

  • Protocol buffers基础
  • 逻辑推理:张老师的生日
  • SEO与SEM区别是什么
  • 人脸识别各算法详解
  • WinForm(一) WinForm入门与基本控件使用
  • DSP-EALLOW和EDIS
  • 【计算机网络】第三章--数据链路层
  • 【HeadFirst 设计模式】你看过《HeadFirst Design Pattern》了吗?(菜鸟晋升必经之路)
  • C语言【指针】函数指针和指针函数用法和区别
  • AGPS(辅助全球卫星定位系统)
  • 这些机房规划技巧,老网工都不舍得公开
  • android使用sharesdk第三方分享
  • 【C语言】C语言函数详解:从基础到高级,掌握函数的使用技巧和常见问题解析
  • sin60度 用计算机,cos60度等于多少啊
  • Java概念
  • Android最全UI库合集
  • C语言爱心代码大全集—会Ctrl+C就可以表白了
  • TCP通信过程详解以及tcp长连接和短连接
  • IronPython:交互式解释器与常用函数
  • VMware安装虚拟机教程(小白学习记录)
  • 入坑刷机?手机各大模式了解一下
  • AndroidStudio findbugs 插件检查和过滤
  • 配置本地安全策略
  • 计算机大端与小端的详细解析,含判断机器大小端代码
  • SAP-MM常用增强之MIGO增强
  • startActivityForResult被标记为弃用后,如何优雅的启动Activity?
  • 软件加密系统Themida应用程序保护指南(八):额外的选择
  • assertion failed的解决办法
  • 浅析C/C++ library
  • 三层架构简介