SQL语法练习

SQL语法练习


https://blog.csdn.net/qq_30764991/article/details/81952197

员工表建表语句:
CREATE TABLE EMP (
ENAME VARCHAR2(30),
EMPNO NUMBER(5),
DEPTNO NUMBER(5),
JOB VARCHAR2(20),
HIREDATE DATE,
COMM NUMBER(6,2),
SAL NUMBER(6,2)
);

部门表建表语句:

CREATE TABLE DEPT (
DNAME VARCHAR2(30),
DEPTNO NUMBER(5),
LOC VARCHAR2(50)
);

员工表插入数据:

INSERT INTO EMP VALUES (‘Zhou润发’, 10001, 10, ‘办事员’, TO_DATE(‘20161130131322’, ‘YYYYMMDDHH24MISS’), 2500, 2400);
INSERT INTO EMP VALUES (‘Liu德华’, 10002, 10, ‘办事员’, TO_DATE(‘20170105131334’, ‘YYYYMMDDHH24MISS’), 1800, 2250);
INSERT INTO EMP VALUES (‘Li连杰’, 20001, 20, ‘办事员’, TO_DATE(‘20170313131339’, ‘YYYYMMDDHH24MISS’), 2200, 2350);
INSERT INTO EMP VALUES (‘xiang华强’, 20000, 20, ‘经理’, TO_DATE(‘20160130131343’, ‘YYYYMMDDHH24MISS’), 3980, 3500);
INSERT INTO EMP VALUES (‘Zhang柏芝’, 30001, 30, ‘办事员’, TO_DATE(‘20170314131346’, ‘YYYYMMDDHH24MISS’), 1300, 2200);
INSERT INTO EMP VALUES (‘成long’, 10000, 10, ‘经理’, TO_DATE(‘20151031133724’, ‘YYYYMMDDHH24MISS’), 4800, 4000);
INSERT INTO EMP VALUES (‘zhang子怡’, 30000, 30, ‘经理’, TO_DATE(‘20161011133915’, ‘YYYYMMDDHH24MISS’), 3500, 3480);
INSERT INTO EMP VALUES (‘zhang家辉’, 20002, 20, ‘办事员’, TO_DATE(‘20170330134519’, ‘YYYYMMDDHH24MISS’), 1600, 2000);
INSERT INTO EMP VALUES (‘Liu亦菲’, 30002, 30, ‘驾驶员’, TO_DATE(‘20170330135457’, ‘YYYYMMDDHH24MISS’), NULL, 2500);
INSERT INTO EMP VALUES (‘peng于晏’, 20003, 20, ‘驾驶员’, TO_DATE(‘20170411135625’, ‘YYYYMMDDHH24MISS’), NULL, 2500);
INSERT INTO EMP VALUES (‘Zhang涵予’, 10003, 10, ‘驾驶员’, TO_DATE(‘20170408135706’, ‘YYYYMMDDHH24MISS’), NULL, 2500);

部门表插入数据:

INSERT INTO DEPT VALUES (‘市场部’, 10, ‘北京’);
INSERT INTO DEPT VALUES (‘公关部’, 20, ‘上海’);
INSERT INTO DEPT VALUES (‘研发部’, 30, ‘南京’);

表结构数据图如下:

两张表已全部建好,自己用查询语句查看一下表结构和数据是否没问题.

Select * From EMP Select * From DEPT

下面是题目:可以复制下来做, 做完再和我做答案对照一下, 当然, 有的题目可以用多种方法去做, 看你自己选择了.

还有一点需要注意的是:我是用的可视化界面输入的语句,别名中文不需要加引号,一开始我加引号老是报错,后来无意间去掉反而好了,不知道为什么.我开始学的时候,别名使用中文是需要加引号的,看你实际的情况吧!!

题目:

–1.选择30部门的职员
–2.列出所有办事员的姓名、编号和部门
–3.找出奖金高于薪资的雇员
–4.找出佣金高于薪金60%的雇员
–5.找出部门10中所有经理和部门20中的所有办事员的详细资料
–6.找出既不是经理又不是办事员但其薪金>=2000的所有雇员的详细资料
–7.找出收取佣金的雇员的不同工作
–8.找出不收取佣金或收取的佣金低于2000的雇员
–9.找出各月最后一天受雇的所有雇员
–10.找出早于1年之前受雇的雇员
–11.显示只有首字母大写的所有雇员的姓名
–12.显示正好为7个字符的雇员姓名
–13.显示不带有’Z’的雇员姓名
–14.显示所有雇员的姓名的前三个字符
–15.显示所有雇员的姓名,用小写 z 替换所有大写 Z .
–16.显示所有雇员的姓名以及满1年服务年限的日期
–17.显示雇员的详细资料,按姓名排序
–18.显示雇员姓名,根据其服务年限,将最老的雇员排在最前面
–19.显示所有雇员的姓名、工作和薪金,按工作的降序顺序排序,而工作相同时按薪金升序
–20.显示所有雇员的姓名和加入公司的年份和月份,按雇员受雇日所在月排序,将最早年份的项目排在最前面
–21.显示在一个月为30天的情况下所有雇员的日薪金
–22.找出在(任何年份的)1月受聘的所有雇员
–23.对于每个雇员,显示其加入公司的天数
–24.显示姓名字段的任何位置,包含 “i” 的所有雇员的姓名
–25.以年、月和日显示所有雇员的服务年限

答案:

1–

select ename,deptno from emp where deptno=30;
2–

select e.ename,e.empno,d.dname,e.job from emp e,dept d where e.deptno=d.deptno and e.job=‘办事员’;
3–

select * from emp where comm>sal order by comm desc;

4–

select * from emp where comm>sal*0.6;
5.1–

select * from emp e,dept d where e.deptno=10 and e.job=‘经理’ and e.deptno=d.deptno
union all
select * from emp e,dept d where e.deptno=20 and e.job=‘办事员’ and e.deptno=d.deptno;
5.2–

select * from emp e,dept d where (e.deptno=10 and e.job=‘经理’ and e.deptno=d.deptno)
or (e.deptno=20 and e.job=‘办事员’ and e.deptno=d.deptno);
6–

select * from emp e,dept d where e.sal>=2000 and e.job<>‘办事员’ and e.job<>‘经理’ and e.deptno=d.deptno;
7–

select distinct job from emp where comm>0;
8–

select ename,nvl(comm,0) comms from emp where nvl(comm,0)<2000;
9–

select * from emp where hiredate=last_day(hiredate);
10.1–

select * from emp where months_between(sysdate,hiredate)>12;
10.2–

select * from emp where hiredate 11–

select * from emp where ename=initcap(ename);
12–

select * from emp where length(ename)=7;
13–

select * from emp where instr(ename,‘Z’)=0;
14–

select substr(ename,0,3) from emp
15–

select replace(ename,‘Z’,‘z’) from emp
16–

select ename,add_months(hiredate,12) from emp
17–

select * from emp e,dept d where e.deptno=d.deptno order by e.ename
18.1–

select ename,trunc(months_between(sysdate,hiredate)/12,0) 服务年限 from emp order by 服务年限 desc
18.2–

select ename,hiredate from emp order by hiredate
19–

select ename,job,sal from emp order by job desc,sal asc
20.1–

select ename,extract(year from hiredate) 年份,extract(month from hiredate) 月份 from emp order by 年份,月份
20.2–

select ename,to_char(hiredate,‘yyyy’) 年份,to_char(hiredate,‘mm’) 月份 from emp order by hiredate
21–

select ename,sal/30,trunc(sal/30,1),floor(sal/30),ceil(sal/30) from emp
22.1–

select * from emp where extract(month from hiredate)=1
22.2–

select * from emp where to_char(hiredate,‘mm’)=‘01’
23–

select ename,floor(sysdate-hiredate) 入职天数 from emp order by 入职天数 desc
24.1–

select ename from emp where ename like ‘%i%’;
24.2–

select ename from emp where instr(ename,‘i’)>0
25–

select ename,floor(months_between(sysdate,hiredate)/12) 服务总年数,

floor(months_between(sysdate,hiredate)) 服务总月数,

floor(sysdate-hiredate) 服务总天数 from emp order by 服务总天数;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248338.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第22章:MongoDB-聚合操作--聚合管道--$out

①$out$out&#xff1a;利用此操作可以将查询结果输出到指定的集合里面。②范例&#xff1a;将投影的结果输出到集合里③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳转载于:https://www.cnblogs.com/Lucky-stars/p/10555296.html

SQL简单查询

1、简单查询 使用Oracle sql developer使用前&#xff0c;必须开启的服务&#xff1a; 查询emp表上的数据&#xff1a; select * from emp; Null为空&#xff0c;空不代表等于没有&#xff0c;null&#xff01;0. 重新连接后&#xff0c;注意大小写及空格位&#xff01; 简…

实用小技巧(一):UIScrollView中上下左右滚动方向的判断

https://www.jianshu.com/p/93e8459b6dae 2017.06.01 01:13* 字数 674 阅读 1201评论 0喜欢 12017.06.01 01:13* 字数 674 阅读 1201评论 0喜欢 1 版本记录 版本号 时间 V1.0 2017.05.31 前言 ios中又很多实用的小技巧&#xff0c;实现不难很实用&#xff0c;以后我会慢慢的…

less.js

1.变量 2.混入 3.带参的混入 4.选择器的继承&#xff0c;貌似还不支持 5.嵌套规则 6.运算 7.颜色函数 8.条件语句与控制&#xff0c;貌似不支持 9.命名空间 10.注释 11.作用域 12.字符的插入 13.转义 14.JavaScript 的赋值转载于:https://www.cnblogs.com/I-am-fine/archive/20…

SQL限定查询

1、限定查询与排序显示 1.1限定查询的认识&#xff1a; 列&#xff1a;表中有大数据的信息&#xff0c;对数据进行筛选&#xff0c;查询到自己想要的信息。 &#xff08;数据过多显示过慢&#xff0c;或者死机&#xff0c;在已有的样本数据库容器CDB转换为PDB之中&#xff09;…

Centos6.10源码部署zabbix-3.2.6

环境&#xff1a;Centos6.10 已有lnmp环境 mysql5.7 php7.2 创建zabbix数据库 mysql> create database zabbix character set utf8 collate utf8_bin; mysql> grant all privileges on zabbix.* to zabbixlocalhost identified by zabbix; 创建zabbix用户 shell> …

浅谈五大Python Web框架

http://www.csdn.net/article/2011-02-17/292058 导读&#xff1a;作者飞龙写了一篇《浅谈Python Web框架》&#xff0c;文中他介绍了几个Python Web框架和自己对选择框架的分析。在他看来&#xff0c;用Django来快速开发一些Web运用是很不错的选择。以下是文章内容&#xff1a…

主流浏览器和内核及Web标准

目前网络市场的浏览器主流&#xff1a; 课时3&#xff1a;web标准 WEB标准 w3c 万维网联盟组织&#xff0c;制定web标准的机构。 网页主要由三部分组成&#xff1a; 结构&#xff08;Structure&#xff09;、 表现&#xff08;Presentation&#xff09; 行为&#xff08;Beh…

质量属性六个常见属性场景(《淘宝网》为例) 15

六个最常见的系统质量属性分别是&#xff1a;可用性&#xff08;Availability&#xff09;、可修改性&#xff08;Modifiability&#xff09;、性能&#xff08;Performance&#xff09;、安全性&#xff08;Security&#xff09;、可测试性&#xff08;Testability&#xff09…

机器学习中的损失函数 (着重比较:hinge loss vs softmax loss)

https://blog.csdn.net/u010976453/article/details/78488279 1. 损失函数 损失函数&#xff08;Loss function&#xff09;是用来估量你模型的预测值 f(x)f(x) 与真实值 YY 的不一致程度&#xff0c;它是一个非负实值函数&#xff0c;通常用 L(Y,f(x))L(Y,f(x)) 来表示。损失函…

HTML入门第一和第二章

课时4&#xff1a;HTML初识 1、英文名&#xff08;Hyper Text Markup Language&#xff09;超文本标签语言 对网页上的内容进行描述 课时5&#xff1a;HTML骨架 课时6&#xff1a;我的第一个页面及其标签简介 课时7&#xff1a;骨架记忆法 课时8&#xff1a;什么是标签及其分…

mysql 指令

// 授予用户某些权限GRANT ALL ON *.* TO USERHOST;// 进入mysql访问特定数据库mysql -u user -p database_name// 查看数据表结构DESCRIBE table_name;// 加载文本数据到tableLOAD DATA LOCAL INFILE file_path INTO TABLE table_name;// UPDATE语句UPDATE table_name SET col…

flex label 换行

Flex中label换行有两种情况 在AS中赋值&#xff1a; label.text"Online\r\nResources" 在mxml中赋值&#xff1a; text"OnlineResources" 在flash builder中就可以换行显示了。左右有四种对齐方式&#xff0c;上下四种对齐方式。 也就是说mx中的label不支持…

H5第一天

移动Web - 基础&流式布局 目标 了解移动端主要浏览器的内核掌握用谷歌浏览器调试移动端页面&#xff08;重要&#xff09;了解布局视口、视觉视口、理想视口使用mate标签设置理想视口&#xff08;重要&#xff09;了解视网膜屏、物理像素、二倍图会使用background-size设…

python数据结构之字典(未完成)

字典 dic {key:value} 1.字典特性 key必须是唯一的&#xff0c;值不必是唯一。 值可以是任何数据类型&#xff0c;比如list&#xff0c;tuple&#xff0c;字符&#xff0c;数值等。key只能是不可变的数据类型。 同一个key不允许重复&#xff0c;如果出现重复&#xff0c;后一个…

一个textView中的文字设置成两种颜色

使用Spannablestring和ForegroundColorSpan。 SpannableString string2 new SpannableString("自助导入会员和连续开单\n3个月可获得免费短信服务");ForegroundColorSpan span2 new ForegroundColorSpan(getResources().getColor(R.color.worker_main_worker));str…

boost::timer demo

#include <iostream> #include <boost/timer.hpp> //timer的头文件 using namespace boost; //打开boost名字空间int main(int argc, char** argv) {timer t; //定义一个计时器对象,并开始计时/*可度量的最大时间,以小时为单位*/std::cout << "max …

H5的第二天

移动web开发——flex布局 目标 了解flex布局的优缺点及原理能够说出flex布局原理、使用语法、特点&#xff08;重点&#xff09;能够使用flex布局常用属性&#xff08;重点&#xff09;能够独立完成携程移动端首页 1.0 传统布局和flex布局对比 1.1传统布局 兼容性好布局繁…

d3.js 入门指南 - 仪表盘

D3的全称是Data-Driven Documents&#xff08;数据驱动的文档&#xff09;&#xff0c;是一个用来做数据可视化的JavaScript函数库&#xff0c;而JavaScript文件的后缀通常为.js&#xff0c;所以D3被称为D3.js。 d3.js可以定制出各种图形&#xff0c;今天来用d3.js制作一个简易…

[转帖]华为的“大海思”与“小海思”

华为的“大海思”与“小海思” https://www.cnbeta.com/articles/tech/828275.htm没先到华为海思这么狠.. 作为华为的全资子公司&#xff0c;说起海思半导体&#xff0c;大家可能第一时间会想起麒麟处理器。经过多年的持续的研发投入&#xff0c;华为海思自研的麒麟处理器现在确…