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.pswp.cn/news/248338.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248338.shtml
英文地址,請注明出處:http://en.pswp.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;華為海思自研的麒麟處理器現在確…