查询去重_【Freya的MySQL课堂】DQL基础查询

本文介绍了MySQL的DQL语言基础,包括查询单字段、多字段、所有字段、常量、表达式、函数、别名、去重、加法运算以及常用函数如CONCAT和IFNULL。通过实例演示,逐步引导读者掌握基本查询技巧和SQL进阶概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

57cda41e35797248baacc9cbcef8e4d9.gif

MYSQL

基础查询

各位小伙伴们晚上好,今天是10月22号。

我是你们的Freya。

今天我们开始学习MySQL中的DQL语言。

Do Not Stop Learning

dfdcdc384c1f44c17ede5e696a332013.png

5e60af5c307e8b81bfdce3f23265a846.png7ef2f50fa7163ce35ba6bd0eb695e93a.png

我爱学习,学习使我快乐

今天你学习了吗?

一、语法

select 查询列表

from 表名;

二、特点

1、查询列表可以是字段、常量、表达式、函数,也可以是多个

2、查询结果是一个虚拟表

三、示例

1、查询单个字段

select 字段名 from 表名;

2、查询多个字段

select 字段名,字段名 from 表名;

3、查询所有字段

select * from 表名

4、查询常量

select 常量值;

注意:字符型和日期型的常量值必须用单引号引起来,数值型不需要

5、查询函数

select 函数名(实参列表);

6、查询表达式

select 100/1234;

7、起别名

①as

②空格

8、去重

select distinct 字段名 from 表名;

9、+

作用:做加法运算

select 数值+数值; 直接运算

select 字符+数值;先试图将字符转换成数值,如果转换成功,则继续运算;否则转换成0,再做运算

select null+值;结果都为null

10、【补充】concat函数

功能:拼接字符

select concat(字符1,字符2,字符3,...);

11、【补充】ifnull函数

功能:判断某字段或表达式是否为null,如果为null 返回指定的值,否则返回原本的值

select ifnull(commission_pct,0) from employees;

12、【补充】isnull函数

功能:判断某字段或表达式是否为null,如果是,则返回1,否则返回0

77767f17404c0a857b44c9ceb89e0704.png

865ac36f5f1dadf47caf37ec05b67e0a.png297f21f1bff7a1e9345b9139f05b7adb.png

恋爱可以慢慢谈,知识必须现在学

#进阶1:基础查询

/*

语法:

select 查询列表 from 表名;

类似于:System.out.println(打印东西);

特点:

1、查询列表可以是:表中的字段、常量值、表达式、函数

2、查询的结果是一个虚拟的表格

*/

USE myemployees;

#1.查询表中的单个字段

SELECT last_name FROM employees;

#2.查询表中的多个字段

SELECT last_name,salary,email FROM employees;

#3.查询表中的所有字段

#方式一:

SELECT 

    `employee_id`,

    `first_name`,

    `last_name`,

    `phone_number`,

    `last_name`,

    `job_id`,

    `phone_number`,

    `job_id`,

    `salary`,

    `commission_pct`,

    `manager_id`,

    `department_id`,

    `hiredate` 

FROM

    employees ;

#方式二:  

 SELECT * FROM employees;

 #4.查询常量值

 SELECT 100;

 SELECT 'john';

 #5.查询表达式

 SELECT 100%98;

 #6.查询函数

 SELECT VERSION();

 #7.起别名

 /*

 ①便于理解

 ②如果要查询的字段有重名的情况,使用别名可以区分开来

 */

 #方式一:使用as

SELECT 100%98 AS 结果;

SELECT last_name AS 姓,first_name AS 名 FROM employees;

#方式二:使用空格

SELECT last_name 姓,first_name 名 FROM employees;

#案例:查询salary,显示结果为 out put

SELECT salary AS "out put" FROM employees;

#8.去重

#案例:查询员工表中涉及到的所有的部门编号

SELECT DISTINCT department_id FROM employees;

#9.+号的作用

/*

java中的+号:

①运算符,两个操作数都为数值型

②连接符,只要有一个操作数为字符串

mysql中的+号:

仅仅只有一个功能:运算符

select 100+90; 两个操作数都为数值型,则做加法运算

select '123'+90;只要其中一方为字符型,试图将字符型数值转换成数值型

如果转换成功,则继续做加法运算

select 'john'+90;如果转换失败,则将字符型数值转换成0

select null+10; 只要其中一方为null,则结果肯定为null

*/

#案例:查询员工名和姓连接成一个字段,并显示为 姓名

SELECT CONCAT('a','b','c') AS 结果;

SELECT 

CONCAT(last_name,first_name) AS 姓名

FROM

employees;

d5d0fc55482b34b9c636ca41a896edf3.png

课后作业

测 试

1. 下面的语句是否可以执行成功

select last_name , job_id , salary as sal

from employees;

2. 下面的语句是否可以执行成功

select * from employees;

3. 找出下面语句中的错误

select employee_id , last_name,

salary * 12 “ANNUAL SALARY”

from employees;

4. 显示表departments的结构,并查询其中的全部数据

5. 显示出表employees中的全部job_id(不能重复)

6. 显示出表employees的全部列,各个列之间用逗号连接,列头显示成OUT_PUT

-END-

e4716d170bf31e35c1a453afb7f9a35d.png9e62aebac17bc8a003e311f1a0cd8584.pngc31e4c4eea9263109ccdaa049b6220f2.png

Freya 学数据分析

关注我,带你学知识~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值