SELECT 语句详解

建立三张表:department 、employee 、 project
  SELECT 语句详解_第1张图片

SELECT 语句详解_第2张图片

SELECT 语句详解_第3张图片




1、基本的SELECT 语句
(1)SELECT语句的基本格式为:
SELECT 要查询的列名 FROM 表名 WHERE 限制条件
ps:如果要查询表的所有内容,则把要查询的列名用一个星号 * 表示。

例子:《1》查询表的所有内容:
《2》查询表指定的列:
SELECT 语句详解_第4张图片
2、数字符号条件:
WHERE限制条件能够达到更加精确的查询。
WHERE限制条件可以有数字符号(=,< , > , >= , <=)
 
例:筛选出age>25:
SELECT 语句详解_第5张图片

3、 AND 与 OR:
 WHERE 后面可以跟多条限制条件,根据条件之间的逻辑关系,可以用AND 或OR 连接。

例:《1》筛选出age<25 或 age>30
SELECT 语句详解_第6张图片

《2》筛选出age>25 and age<30;
SELECT 语句详解_第7张图片 

4、IN  和 NOT IN
关键词IN 和NOT IN 用于筛选‘在’或 ‘不在’某个范围内的结果。

例:《1》查询在dpt3 或 dpt4的人:
SELECT 语句详解_第8张图片

《2》查询不在dpt1也不在dpt3的人:
SELECT 语句详解_第9张图片

5、通配符
关键字LIKE (like)在SQL语句中和通配符(_  和 %)一起使用。
通配符代表未知字符,_代表一个未指定字符%代表不定个未指定字符

例:《1》只记得电话号码前四位为1101,忘记后两位,则可以用两个_通配符代替:
SELECT 语句详解_第10张图片

《2》只记得名字首字母,又不知道名字长度,则用%通配符代替不定个字符:
SELECT 语句详解_第11张图片

6、对结果排序:
对结果按照某一列来排序,要用关键字ORDER BY(order by)排序关键字。默认情况下,ORDER BY 的结果是升序排列,而使用关键字ASCDESC 可指定为升序或降序排序。

例:按salary降序排序:
SELECT 语句详解_第12张图片

7、SQL内置函数和计算:
(1)SQL允许对表中的数据进行操作。
(2)SQL有5个内置函数:

 PS:COUNT函数可用于任何数据类型(因为它只是计数);
       SUM、AVG函数只能对数字类数据类型做计算;
       MAX 和 MIN 可用于数值、字符串、日期时间数据类型

例:计算出salary的最大、最小值:
SELECT 语句详解_第13张图片
使用关键字AS可以给值重命名,例如最大值被命名为max_salary。

8、子查询
处理多个表才能获得所需信息时,使用子查询。子查询可以扩展到3层、4层或更多层。

例如:想知道名为‘Tom’的员工所在部门做了几个工程。员工信息存储在employee中,但工程信息储存在project表中。
SELECT 语句详解_第14张图片

 9、连接查询:
 在处理多个表时,子查询只有结果在一个表时才有用,但如果需要显示两个表或多个表中的数据,必须使用连接(join)操作。

《1》连接的基本思想就是把两个或多个表当作一个新的表来操作,如下:
 SELECT 语句详解_第15张图片

《2》另一个连接语句格式:使用JOIN ON 语法:《1》语句等同于:


作业:使用连接查询的方式,查询出各员工所在部门的人数与工程数,工程数命名为count_project。
SELECT 语句详解_第16张图片

SELECT 语句详解_第17张图片

SELECT 语句详解_第18张图片

参考:https://www.shiyanlou.com/courses/running

你可能感兴趣的:(实验楼Java学习)