MySQL的DQL语言:1、基础查询

本文详细介绍了如何在MySQL中使用SELECT语句查询数据,包括单字段、多字段查询,常量值、表达式和函数的应用,以及别名、去重、+号操作和拼接函数。涵盖了查询技巧和常见错误实例,适合SQL初学者和进阶者参考。
摘要由CSDN通过智能技术生成

基础查询

语法:
select 查询的列表 from 表名;

特点:
1、查询列表可以是:表中的字段、常量值、表达式、函数
2、查询的结果是一个虚拟的表格(临时的不保存)

1、查询表中的单个字段

select 字段 from 表名;

select last_name from employees;

在这里插入图片描述

2、查询表中的多个字段

select 字段1,字段2... from 表名;   # 字段之间使用","隔开,最后一个不用","
#顺序可以按照自己的需求来,不一定按照表中的顺序

select last_name,salary,email from employees;

在这里插入图片描述

3、查询表中的所有字段

方式一:
select * from 表名;

select * from employees;

方式二:
select 字段1,字段2... from 表名;

在这里插入图片描述
【注】:在查询或其他操作前,先启用所需要用的库

4、查询常量值

在这里插入图片描述

select 'Tom' # mysql 中不区分字符和字符串,只要是字符型的都是字符串,使用单引号括起来.

在这里插入图片描述

5、查询表达式

select 100*45;

select 100%95;

在这里插入图片描述

6、查询函数

select version();

在这里插入图片描述

7、起别名

1、便于理解
2、如果要查询的字段有重名的情况,使用别名可以区分开来
方式一:使用 as
select 操作字段(或常量值、表达式等) as 别名 from 表名;

select 100%98 as 结果;

select last_name as,first_name asfrom employees;

方式二:使用空格
select 操作字段(或常量值、表达式等) 别名 from 表名;
select last_name 姓,first_name 名 from employees;

在这里插入图片描述
在这里插入图片描述

案例:查询salary:显示结果为 out put
select salary as "out put" from employees; # 当别名中出现特殊字符如空格,井号等时,可以将别名使用双引号括起来。否则报错

在这里插入图片描述

8、去重 distinct

案例:查询员工表中涉及到的所有的部门编号
select department_id from employees; # 此时查询的是所有员工的部门编号,重复出现

# 若需要去重,则在字段前加个关键字 distinct

select distinct department_id from employees;

在这里插入图片描述

9、+ 号的作用

java 中的 + 号:
1、运算符:两个操作数都为数值型
2、连接符:只要一个操作数为字符串

mysql 中的 + 号:
仅仅只有一个功能:运算符
select 100+90; #两个操作数都为数值型,则做加法运算
select '123'+90; # 其中有一方为字符型,试图字符型数值转换成数值型,如果转换成功,则进行加法运算
select 'abc'+90; # 如果转换失败,则将字符型数值转换成0.

select null+0; #只要一方为null ,则结果必定为null

在这里插入图片描述

案例:查询员工名和姓连接成一个字段,并显示为 姓名
select last_name+first_name as 姓名 from employees; #在mysql中做拼接不能使用+号而是使用concat函数

在这里插入图片描述
在mysql中做拼接不能使用+号而是使用concat函数

# caoncat() 函数也是需要注意null值问题
select concat('a','b','c');
select concat(last_name,first_name) as 姓名 from employees;#select concat(last_name,' ',first_name) as 姓名 from employees;

在这里插入图片描述

测 试

  1. 下面的语句是否可以执行成功
select last_name , job_id , salary as sal 
from employees;
  1. 下面的语句是否可以执行成功
select * from employees;
  1. 找出下面语句中的错误
select employee_id , last_name,
salary * 12 “ANNUAL SALARY”
from employees;# 注:所有符号字符都需使用英文状态下的
  1. 显示表 departments 的结构,并查询其中的全部数据
desc departments;
select * from departments;
  1. 显示出表 employees 中的全部 job_id(不能重复)
select distinct job_id from employees;
  1. 显示出表 employees 的全部列,各个列之间用逗号连接,列头显示成 OUT_PUT
select ifnull(可能为null的字段名 , 若为null返回的值) from 表名;

select
	concat() as OUT_PUT
from
	employees;
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值