回退至Mysql数据库理论与实战
#进阶一:基础查询
语法:
select 查询列表 from 表名;
特点:
1、查询的结果集是一个虚拟表,并没有真实存在
2、查询列表支持常量、字段(列)、表达式、方法(函数)等
类似于 System.out.println(一个值);
补充:
1、去重
2、起别名
3、常见的函数
database()
version()
user()
ifnull()
concat()
USE myemployees;
#①查询常量
SELECT 100 ;#数值型的常量值,不需要加引号
SELECT '刘宝英';#字符和字符串在sql中都称为字符型,常量值需要使用单引号引起来!
#②查询表达式
SELECT 100*3;
SELECT 100%3;
#③查询单个字段
SELECT last_name FROM employees;
#④查询多个字段
SELECT last_name,hiredate ,salary FROM employees;
#⑤查询表中的所有字段 ★
#方式一
SELECT
`employee_id`,
`first_name`,
`last_name`,
`email`,
`phone_number`,
`job_id`,
`salary`,
`commission_pct`,
`manager_id`,
`department_id`,
`hiredate`
FROM
employees ;
#方式二
SELECT * FROM employees;#*代表所有字段
#⑥查询函数(方法)
SELECT DATABASE();
SELECT VERSION();
SELECT USER();
#补充:
#⑦去重
#查询员工表中的员工所在的部门有哪些
SELECT DISTINCT department_id FROM employees;
#⑧+号的作用
/*
java的加号:
作用一:加法运算,当两个操作数都是数值型
作用二:连接符,当至少一个操作数是String类型
sql的加号:
功能:加法运算
a、数值+数值: select 100+2.5;
b、数值+字符: select 100+'abc'; 试图将字符转换成数值,如果失败,则转成0,否则转成对应的数值
c、任意类型+null:select 100+null;
*/
#案例:查询员工的姓名,将姓和名连接在一起显示
SELECT first_name+last_name FROM employees;
SELECT CONCAT(first_name,last_name) FROM employees;
#⑨起别名
/*
别名一般不需要使用引号,但如果里面包含特殊符号,如空格。则必须使用单引号或双引号引起来
*/
#方式一:使用as
SELECT CONCAT(first_name,last_name) AS '姓 名' FROM employees;
#方式二:使用空格
SELECT CONCAT(first_name,last_name) '姓 名' FROM employees;
#⑩查看表的结构
DESC employees;
#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 的结构,并查询其中的全部数据
DESC departments;
SELECT * FROM departments;
#5. 显示出表 employees 中的全部 job_id(不能重复)
SELECT DISTINCT job_id FROM employees;
#6. 显示出表 employees 的全部列,各个列之间用逗号连接,列头显示成 OUT_PUT
SELECT CONCAT(last_name,first_name,salary,email,phone_number,IFNULL(commission_pct,0)) out_put
FROM employees;
SELECT IFNULL(commission_pct,0),commission_pct FROM employees;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?