(九)MySQL查询数据 定义空值 使用别名 去除重复 比较条件

忙东忙西断断续续停了一个月,争取这周之前把数据库部分写完,不能再拖延了~


目录

一、SELECT基本查询

1. SELECT语句的功能

2. SELECT基本语法

3. 基本 SELECT 语句

二、查询中的列选择

1. 选择所有列

2. 选择指定列

三、查询中的算术表达式

1. 使用算术运算符

2. 运算符的优先级

四、MySQL中定义空值

1. 算术表达式中的空值

五、MySQL中的别名

1. 使用列别名

2. 使用表别名

 六、MySQL中去除重复

1. 除去相同的行

七、查询中的行选择

八、MySQL中的比较条件

九、其它比较条件

1. 使用BETWEEN条件 

2. 使用IN条件

3. 使用LIKE条件 

4. 使用NULL条件

一、SQL文件的导入(Navicat)

二、查询中的列选择(Navicat)

1. 查询所有列 

2. 查询指定列

3. 使用算术运算符

 三、MySQL中定义空值(Navicat)


 

一、SELECT基本查询

1. SELECT语句的功能

SELECT 语句从数据库中返回信息。使用一个 SELECT 语句,可以做下面的事:

  • 列选择:能够使用 SELECT 语句的列选择功能选择表中的列,这些列是想要用查询返回的。当查询时,能够返回列中的数据

  • 行选择:能够使用 SELECT 语句的行选择功能选择表中的行,这些行是想要用查询返回的。能够使用不同的标准限制看见的行

  • 连接:能够使用 SELECT 语句的连接功能来集合数据,这些数据被存储在不同的表中,在它们之间可以创建连接,查询出我们所关心的数据

2. SELECT基本语法

3. 基本 SELECT 语句

在最简单的形式中,SELECT 语句必须包含下面的内容:

  • 一个 SELECT 子句,指定被显示的列

  • 一个 FROM 子句,指定表,该表包含 SELECT 子句中的字段列表

在语法中:

语句含义
SELECT是一个或多个字段的列表
*选择所有的列
DISTINCT禁止重复
column | expression选择指定的字段或表达式
alias给所选择的列不同的标题
FROM table指定包含列的表

二、查询中的列选择

1. 选择所有列

用跟在 SELECT 关键字后面的星号 (*),你能够显示表中数据的所有列。

示例:查询 departments 表中的所有数据。

select * from departments;

2. 选择指定列

能够用 SELECT 语句来显示表的指定列,指定列名之间用逗号分隔。

示例:查询 departments 表中所有部门名称。

select department_name from departments;

 可以用DESC命令看到表的结构

desc departments;

三、查询中的算术表达式

需要修改数据显示方式,如执行计算,或者作假定推测,这些都可能用到算术表达式。一个算术表达式可以包含列名、固定的数字值和算术运算符

1. 使用算术运算符

示例:查询雇员的年薪,并显示他们的雇员ID,名字。

select employee_id,last_name, 12*salary from employees;

2. 运算符的优先级

如果算术表达式包含有一个以上的运算,乘法和除法先计算。如果在一个表达式中的运算符优先级相同,计算从左到右进行。可以用圆括号强制其中的表达式先计算。

示例一:计算 employees 表中的员工全年薪水加 100 以后的薪水是多少,并显示他们的员工ID与名字。

select employees_id,last_name, 12*salary+100 from employees;

示例二:计算 employees 表中的员工薪水加 100 以后的全年薪水是多少,并显示他们的员工ID与名字。

select employees_id,last_name, 12*(salary+100) from employees;

四、MySQL中定义空值

如果一行中的某个列缺少数据值,该值被置为 null, 或者说包含一个空。

空是一个难以获得的、未分配的、未知的,或不适用的值。空和 0 或者空格不相同。 0 是一个数字,而空格是一个字符。

1. 算术表达式中的空值

示例:计算年薪包含佣金。

select 12*salary*commission_pct from employees;

五、MySQL中的别名

1. 使用列别名

SELECT 列名 AS 列别名 FROM 表名 WHERE 条件;

示例:查询 employees 表将雇员 last_name 列定义别名为 name。

select last_name as name from employees;

select last_name name from employees;

2. 使用表别名

SELECT 表别名.列名 FROM 表名 as 表别名 WHERE 条件;

示例:查询 employees 表为表定义别名为emp,将雇员 last_name 列定义别名为 name。

select emp.last_name name from employees emp;

 六、MySQL中去除重复

1. 除去相同的行

SELECT DISTINCT 列名 FROM 表名;

示例:查询 employees 表,显示唯一的部门 ID。

select distinct department_id from employees;

select distinct department_id,salary from employees;

七、查询中的行选择

用 WHERE 子句限制从查询返回的行。一个 WHERE 子句包含一个必须满足的条件,WHERE 子句紧跟着 FROM 子句。如果条件是 true,返回满足条件的行。

在语法中:

WHERE 限制查询满足条件的行

condition 由列名、表达式、常数和比较操作组成

SELECT * | 投影列 FROM 表名 WHERE 选择条件;

示例:查询 departments 表中部门 ID 为 90 的部门名称与工作地点 ID。

select department_name,location_id from departments where department_id =90;

八、MySQL中的比较条件

符号 != 也能够表示 不等于条件。

示例一:查询 employees 表中员工薪水大于等于 3000 的员工的姓名与薪水。

select last_name,salary from employees where salary >= 3000;

 示例二:查询 employees 表中员工薪水不等于 5000 的员工的姓名与薪水

select last_name,salary from employees where salary<>5000;

九、其它比较条件

1. 使用BETWEEN条件 

示例:查询employees表,薪水在3000-8000之间的雇员ID、名字与薪水。

select employee_id,last_name,salary from employees
where salary between 3000 and 8000;

 2. 使用IN条件

示例:查询employees表,找出薪水是5000,6000,8000的雇员ID、名字与薪水。

select employee_id,last_name,salary from employees
where salary in (5000,6000,8000);

3. 使用LIKE条件 

 示例:查询employees中雇员名字第二个字母是e的雇员名字。

select last_name from employees
where last_name like '_e%';

 

 4. 使用NULL条件

NULL条件,包括ISNULL条件和IS NOT NULL条件。
lS NULL条件用于空值测试。空值的意思是难以获得的、未指定的、未知的或者不适用的。

因此,不能用=,因为null不能等于或不等于任何值。

示例一:找出emloyees表中那些没有佣金的雇员雇员ID、名字与佣金。

select employee_id,last_name,commission_pct from employees
where commission_pct is null;

示例二:找出emloyees表中那些没有佣金的雇员雇员ID、名字与佣金。 

select employee_id,last_name,commission_pct from employees
where commission_pct is not null;

一、SQL文件的导入(Navicat)

添加测试数据,将data.sql文件(提取码:6767)通过Navicat导入到MySQL中itbz数据库中。该文件包含了下文中所使用的案例表。

二、查询中的列选择(Navicat)

1. 查询所有列 

示例:查询 departments 表中的所有数据。

 2. 查询指定列

 示例:查询 departments 表中所有部门名称。

 3. 使用算术运算符

 示例:查询雇员的年薪,并显示他们的雇员ID,名字。

示例一:计算 employees 表中的员工全年薪水加 100 以后的薪水是多少,并显示他们的员工ID与名字。 

 示例二:计算 employees 表中的员工薪水加 100 以后的全年薪水是多少,并显示他们的员工ID与名字。

 三、MySQL中定义空值(Navicat)

 示例:计算年薪包含佣金。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值