首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL语句汇总(终篇)—— 联接联接查询

既然是最后一篇那就不能只列出些干枯标准语句,更何况联接也是SQL中较难部分,所以此次搭配题目来详细阐述联接。 上一篇博文说到相关子查询效率低下,那我们怎么能将不同信息一起查询出来呢?...这就需要用到联接。 和之前UNION组合查询不同,UNION是将不同组合起来,也就是纵向联接,说白了就是竖着拼起来。...这里通过外键匹配我们就得到了一张完美的联接之后,它可以看做一张新,想要任何数据均可以从此查询,这就是联接强大之处。...外联接: 分为左外联接与右处联接。 外联接是指不管有没有匹配,被定义了外联接数据都要出现在结果中。比如左外联接,那么在JOIN左边就被定义为外联接,那么此中所有数据都会出现在查询结果中。...= '朱军'; 本题中,括号内为联接,其返回是'朱军'所在班级_infor,然后主查询在学生中匹配与_infor相等_fk行,最后从匹配成功后行中剔除'朱军'自己。 ?

1.4K10
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL查询

查询语法及关键字执行优先级 查询语法 SELECT DISTINCT 字段1,字段2......1.找到:from 2.拿着where指定约束条件,去文件/中取出一条条记录 3.将取出一条条记录进行分组group by,如果没有group by,则整体作为一组 4.执行select(去重)...#1:条件查询 SELECT emp_name FROM employee WHERE post='sale'; #2:多条件查询 SELECT emp_name...查询岗位名以及岗位包含所有员工名字 2. 查询岗位名以及各岗位内包含员工个数 3. 查询公司内男员工和女员工个数 4. 查询岗位名以及各岗位平均薪资 5....查询岗位名以及各岗位最高薪资 6. 查询岗位名以及各岗位最低薪资 7. 查询男员工与男员工平均薪资,女员工与女员工平均薪资 ? ? ?

17.8K10

MySQL多表查询

1.查询 #查询语法 select from where group by field 分组...* from employee,department 2.1.外链接操作 #包括:内连接、左连接、右连接、全外连接 #1.内连接:符合条件查询,只连接匹配行 #查询员工对应部门 #找两张共有的部分...#例一:以内连接方式查询employee和department,并且employeeage字段值必须大于25,即找出年龄大于25岁员工以及员工所在部门 mysql> select employee.name...#例子: #1.查询大于所有人平均年龄员工名与年龄 #思路:先查询出所有人平均年龄,然后再和原来员工进行比较 mysql> select name,age from employee where...(2)将查出结果作为临时,再对根据临时dep_id和employeedep_id作为筛选条件将employee和临时进行内连接。

14.5K40

MySQL之查询、多表查询

一、查询: 单个查询方法及语法顺序需要通过实际例子来熟悉 先将数据创建下: ? ?...多个之间查询一般都是在 之间存在某种逻辑关联情况下进行查询,这种逻辑上关联其实就是中某个字段名和另外一个字段名存在一个一一对应关系或者关联。...: # 就是将一个查询语句结果用括号括起来当做另一个查询语句条件去用 # 接着上面的: mysql> select * from emp; +----+-------+--------+-----...| 2016-03-11 | +----+--------+--------+-----+---------+--------+-----------+------------+ 记住一个规律,查询结果可以作为其他查询条件...,也可以通过其别名方式把它作为一张虚拟去跟其他做关联查询 额外题: 部门中薪资超过部门平均薪资员工姓名及薪资 mysql> select t1.name,t1.salary,t1.post,t2

22K30

Oracle查询优化-01查询

概述 1 查询中所有的行与列 2 从中检索部分行 3 查找空值 4 将空值转换为实际值 5 查找满足多个条件行 6 从中检索部分列 7 为列取有意义名称 8 在 WHERE 子句中引用取别名列...9 拼接列 使用字符串连接符 用SQL生成SQL 10 在 SELECT 语句中使用条件逻辑 case when 11 限制返回行数 12 从中随机返回 n 条记录 13 模糊查询 查出vname...对于简单查询,操作起来比较简单,那么复杂一点儿呢?...比如 ,查询部门号10中所有员工、所有得到提成员工、以及部门20中工资不超过2000员工。 这是三个条件组合,符合上述任一一条即可。...在查询时,并不要求返回所有的数据,比如进行抽查时候会要求只返回两条数据。

1.1K10

MariaDB 查询与聚合查询

,下面将介绍如何使用SELECT语句查询数据一列或多列数据、使用集合函数显示查询结果.查询语句简介首先,MySQL从数据查询数据基本语句为SELECT语句,SELECT语句基本格式如下:MariaDB...◆基本字段查询◆select 语句查询记录最简单检索方式,实现方法是使用(*)通配符,指定查找所有列名称,,语法规则如下:select * from 名;查询所有字段: 使用*通配符,查询lyshark...◆有时候我们查询结果有重复选项,当我们不想看重复数据时可以使用distinct关键字,实现去重,SQL语法如下:select distinct 指定不重复字段 From 名称;实例:查询lyshark...,而只是对数据进行总结.MySQL提供一些查询功能,可以对获取数据进行分析和报告,这些函数功能有:计算数据中记录行数总数、计算某个字段列下数据总和,以及计算中某个字段下最大值、最小值或者平均值...功能:此函数统计中包含记录行总数,或者根据查询结果返回列中包含数据行数计算总行数:count(*) 查询test1总行数,SQL语句如下:MariaDB [lyshark]> select

2.8K10

mysql-查询

语法: 一、查询语法    SELECT 字段1,字段2... ...select distinct order by limit 1.找到:from 2.拿着where指定约束条件,去文件/中取出一条条记录 3.将取出一条条记录进行分组group by,如果没有...group by,则整体作为一组 4.将分组结果进行having过滤 5.执行select 6.去重 7.将结果按条件排序:order by 8.限制结果显示条数 创建公司员工字段和数据类型...%小时任意多字符,_表示一个字符 5.逻辑运算符:在多个条件直接可以使用逻辑运算符 and or not 验证结果:where条件约束 1 :条件查询 mysql> select id,name from...#1、首先明确一点:分组发生在where之后,即分组是基于where之后得到记录而进行 #2、分组指的是:将所有记录按照某个相同字段进行归类,比如针对员工信息职位分组,或者按照性别进行分组等

4.3K20

Hibernate学习---查询

在SQL中,查询是最常用语句,同理Hibernate最常用到也是查询语句,所以今天就来讲讲Hibernate查询: 今天要将内容分以下几点: 查询所有 查询结果排序 为查询参数动态赋值...分页查询 模糊查询 唯一性查询 聚合函数查询 投影查询 分组查询 查询迭代 命名查询 Hibernate不仅为我们提供了它本身查询语句HQL,同时也还提供了SQL和criteria标准查询,接下来我们都会来一一实验...多次查询相同内容我们可以用到Hibernate缓存特性(session),可以加快查询效率。...传统我们用HQL查询时候,每次都需要去数据库中查询,这样如果查询同样内容就会造成数据库服务器负载过重(例如新闻主页,就会多次查询相同内容),当第一次查询过后session没有clear或者close...session.getNamedQuery("queryById") .setInteger("id", 1) .uniqueResult(); 到这里我们就将Hibernate基本查询差不多了

1.2K70

SQL之查询

FROM子句:指定查询对象(基本或视图) WHERE子句:指定查询条件 GROUP BY子句:对查询结果按指定列值分组,该属性列值相等元组为一个组。...HAVING短语:只有满足指定条件组才予以输出 ORDER BY子句:对查询结果按指定列值升序或降序排序 2、查询 查询只涉及一个查询成为查询 2.1、选择若干列 2.1.1...2.2、 选择若干元组 2.2.1、消除取值重复行 如果没有指定 DISTINCT 关键词,则缺省为 ALL: 栗子:查询选修了课程学生学号。...查询考试成绩有不及格学生学号。 SELECT DISTINCT Sno FROM SC WHERE Grade < 60; 该中没有不及格学生,故查询结果为空。...c、确定集合 使用谓词:`IN , NOT IN 栗子: `查询计算机科学系(CS)、数学系(MA)和信息系(IS)学生姓名和性别。

1.7K10

MySQL之查询

一、查询语法 SELECT 字段1,字段2......二、关键字执行顺序 1.找到:from 2.拿着where指定约束条件,去文件/中取出一条条记录 3.将取出一条条记录进行分组group by,如果没有group...逻辑运算符:在多个条件直接可以使用逻辑运算符 and or not #1:条件查询 SELECT name FROM employee WHERE post='sale';...#1、首先明确一点:分组发生在where之后,即分组是基于where之后得到记录而进行 #2、分组指的是:将所有记录按照某个相同字段进行归类,比如针对员工信息职位分组,或者按照性别进行分组等...= 'alex' # 'a|x' 匹配 条件中任意值 select * from person where name REGEXP 'a|x';   #查询以w开头以i结尾数据 select

4.8K70

查询是如何执行

之间连接顺序是啥样,最后会按照执行计划中步骤调用存储引擎提供方法来真正执行查询,并将查询结果返回给用户。...不过查询优化这个主题有点儿大,在学会跑之前还得先学会走,所以本章先来瞅瞅MySQL怎么执行查询(就是FROM子句后边只有一个,最简单那种查询~)。...对于单个查询来说,设计MySQL大叔把查询执行方式大致分为下边两种: 使用全扫描进行查询 这种执行方式很好理解,就是把每一行记录都扫一遍嘛,把符合搜索条件记录加入到结果集就完了。...不管是啥查询都可以使用这种方式执行,当然,这种也是最笨执行方式。 使用索引进行查询 因为直接使用全扫描方式执行查询要遍历好多记录,所以代价可能太大了。...如果匹配记录较少,则回代价还是比较低,所以MySQL可能选择使用索引而不是全扫描方式来执行查询

98320

实验3.1 简单查询

一、实验目的 熟练掌握用SELECT语句实现简单查询。掌握SELECT子句、FROM子句、WHERE子句及ORDER BY 子句用法。 二、实验原理 用SELECT语句实现简单查询。...WHERE子句中用关系比较符、[NOT] BETWEEN、[NOT]  IN、LIKE、 IS [NOT]NULL及逻辑运算符构成查询条件,对结果集中记录进行筛选。...ORDER BY子句将根据查询结果集中一个或多个字段对查询结果进行排序。 三、实验设备 安装有SQL SERVER 2000计算机。...四、实验示例 1.查找中所有姓刘职工工号,姓名,部门,薪水 select emp_no,emp_name, dept ,salary  from employee  where emp_name...(去掉重复记录) select DISTINCT dept  from employee ; 12、查找员工所有记录,并按薪水由低到高进行排序。

1.4K20

SQL数据查询之——查询

,根据WHERE子句条件表达式从FROM子句指定基本、视图或派生中找出满足条件元组,再按SELECT子句中目标列表达式选出元组中属性值形成结果。...如果有ORDER BY子句,则结果还要按升序或降序排序。 SELECT语句既可以完成简单查询,也可以完成复杂连接查询和嵌套查询。...二、SQL查询(仅涉及一个查询) 1.选择若干列 (1)查询指定列 查询全体学生学号与姓名 SELECT Sno,Sname FROM Student; 查询全体学生姓名、学号、所在系...这样匹配串中紧跟在 “\” 后面的字符“_”不再具有通配符含义,转义为普通“_”字符。...BY Sno; HAVING AVG(Grade)>=90; 三、总结 此次整理了SQL数据查询中有关查询程序,其中应格外注意 字符匹配中 % 和 _ 区别。

1.7K50

MySQL数据查询查询

查询 简单查询 - 创建 DROP TABLE IF EXISTS `person`; CREATE TABLE `person` ( `id` int(11) NOT NULL AUTO_INCREMENT...#查询语法: select [distinct]*(所有)|字段名,...字段名 from 名; #查询所有字段信息 select * from person; #查询指定字段信息 select...) from person; 分组查询 分组含义: 将一些具有相同特征数据 进行归类.比如:性别,部门,岗位等等 怎么区分什么时候需要分组呢?   ...#分组查询格式: select 被分组字段 from 名 group by 分组字段 [having 条件字段] ps: 分组查询可以与 聚合函数 组合使用....首先执行 FROM 子句, 从 person 组装数据源数据    (2). 执行 WHERE 子句, 筛选 person 中 name 不为 NULL 数据    (3).

6.3K30
领券