2019-08-21

-- 有些时候where后面会有多个条件(逻辑关系运算符 and or not)
-- and逻辑与 x and y 一定满足所有条件,最终结果为true
-- 查询在10号部门工作的员工并且薪资不低于2500的员工信息
SELECT * FROM emp
WHERE deptno = 10 AND sal >= 2500
SELECT * FROM emp
WHERE deptno = 10 OR deptno = 20
-- and 和 or 的优先级 and的优先级高于or
SELECT * FROM emp
WHERE (deptno = 10 OR sal < 2500) AND deptno = 20
-- 特殊的比较运算符
-- 1. Between and 表示在某个区间[A,B] 一般情况下;B应该大于A
-- 查询工资在[2000,2500]区间员工信息
SELECT * FROM emp
WHERE sal BETWEEN 2000 AND 2500
-- 查询在20号部门入职日期在1994年员工的信息
SELECT * FROM emp
WHERE hiredate BETWEEN '1994-01-01' AND '1994-12-31' AND deptno = 20

-- 2.like (模糊查询):只适用于文本查询 特殊符合(% )%代表任意多个字符 代表一个字符
-- 语法规则
-- ename like 'a'
-- 查询ename中含有a字母的 ename like '%a%' % 表示此处可能有[0,n]个字符
-- 查询ename中倒数第二个字符是a字母的 ename like %a
表示一个字符
select * from emp where ename not like '%o
'

-- 3.in (集合):相当于or的关系 注意:如果in中的数据有null,null值是不能被查询出来的
select * from emp where deptno in(10,20) and job='CLERK'

-- 查询员工SMITH 或者AMY的员工信息

-- 查询在某一个日期(1992-01-15,1994-12-22,1994-07-05)员工入职信息
select * from emp where ename='SMITH' or ename='AMY'
select * from emp where hiredate in('1992-01-15','1994-12-22','1994-07-05')

-- 4.专门针对空值进行筛选的 is NULL
-- 查询所有没有奖金的员工的信息
select * from emp where comm is null

-- 5.not 表示特殊比较运算符的逻辑取反
select * from emp where comm is not NULL
-- 排序(升序asc:由小到大 降序desc:由大到小)
-- 语法:select.......FROM......WHERE......order by
-- 也可以按照多列进行排序
-- order by 列1 排序方式, 列2 排序的方式...... 列n的排序方式
-- 规则:它是在列1基础之上,进行列2排列

-- 查询所有员工信息,按照部门的编号升序排序,按照工资降序排序

select * from emp order by deptno asc,sal DESC

-- 查询20号部门的员工的姓名,工资,奖金,月收入(工资+奖金)按照月收入降序排序
select ename,sal,comm,sal+ifnull(comm,0) income from emp where deptno=20 order by income desc

-- 查询所有员工信息,按照月工资进行升序排序
select * from emp order by sal
select * from emp order by sal desc

-- 查询语句的编写顺序和执行的顺序
-- 编写的顺序 SELECT......FROM.....where.....order BY
-- 执行顺序: FROM.....WHERE....SELECT....order by

-- 多表查询
select * from emp
select * from dept
select * from location

-- 查询员工表中的编号,姓名,职位,工资以及部门表中的编号以及部门的名称
-- A{a,b,c}
-- B{d,e,f,g}
-- A*B={ad,ae,af,ag,bd,be,bf,bg,cd,ce,cf,cg}

-- 两个表来链接查询的话,一定要加上加上两个表的关联条件(让两个表中的数据一一对应)
select * from emp,dept
-- 只会将符合条件的数据显示出来,因为emp表中有一个员工没有部门(不符合条件的数据,是不会显示的)
select * from emp,dept where emp.deptno=dept.deptno

select empno,ename,sal,e.deptno,dname from emp e,dept d where e.deptno=d.deptno

-- 连接查询
-- 1。 等值链接(链接条件使用=)
-- 查询月薪高于3000的员工的姓名,月工资,所在部门的名称
select * from emp
select ename,sal+ifnull(comm,0) ,dname from emp e,dept d where sal+ifnull(comm,0)>3000 and e.deptno=d.deptno

-- 2.内链接 inner join.....on(关联条件) 它是SQL99标准的规范写法,在任何关系型数据库都适用
select ename,sal+ifnull(comm,0) ,dname from emp e inner join dept d on e.deptno=d.deptno where sal>3000

-- 查询员工的姓名,部门名称和地址(adress)(三表链接,要找到两两表之间的关系)

select e.ename,d.dname,l.adress from emp e,dept d,location l where e.deptno=d.deptno and d.loc=l.locid

select ename,dname,adress from emp inner join dept on emp.deptno=dept.deptno inner join location on dept.loc=location.locid

-- 3.外连接
-- 左外连接 left outer join : 会将左表符合条件、不符合条件的数据都表现出来
-- 右外连接 right out join : 会将左表符合条件、不符合条件的数据都表现出来
-- 全外连接 full outer join: 会将所有表中符合条件、不符合条件的数据都表现出来
-- 查询所有员工的信息(员工的姓名和所在部门)包含没有部门的员工的信息
select e.ename,d.dname from emp e left outer join dept d on e.deptno=d.deptno

-- 4.自链接(把一张表当成两张表来看)要求数据有一定的规律
-- 查询员工的编号,姓名,经理的编号以及姓名
select e1.empno,e1.ename,e2.empno,e2.ename from emp e1 left join emp e2 on e1.mgr=e2.empno

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,794评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,050评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,587评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,861评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,901评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,898评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,832评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,617评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,077评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,349评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,483评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,199评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,824评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,442评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,632评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,474评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,393评论 2 352

推荐阅读更多精彩内容

  • 1. select * from emp; 2. select empno, ename, job from em...
    海纳百川_4d26阅读 1,903评论 0 4
  • 引出 •请思考如下问题? –查询所有员工的每个月工资总和,平均工资? –查询工资最高和最低的工资是多少? –查询公...
    C_cole阅读 7,287评论 0 3
  • 5.多表查询 多表查询 目的:从多张表获取数据 前提:进行连接的多张表中有共同的列 等连接 通过两个表具有相同意义...
    乔震阅读 1,225评论 0 0
  • 1.简介 数据存储有哪些方式?电子表格,纸质文件,数据库。 那么究竟什么是关系型数据库? 目前对数据库的分类主要是...
    乔震阅读 1,712评论 0 2
  • 愿用三年苦读 换你一年铭记 愿用160天努力 换取6月美梦 加油^0^~ 坚持坚持坚持
    橙浅阅读 255评论 0 0