首页 > 数据库 >18-基础SQL-函数-流程函数

18-基础SQL-函数-流程函数

时间:2023-11-24 19:57:12浏览次数:34  
标签:comment 11 函数 23 18 员工 2022 SQL

什么是函数:是指一段可以直接被另一段程序调用的程序或代码

MySQL的函数主要包括:字符串函数、数值函数、日期函数、流程函数。

流程函数

流程函数也是很常用的一类函数,可以在SQL语句中实现条件筛选,从而提高语句的效率。

IF(value,t,f) 演示:当条件为true时,返回"OK",否则返回"ERROR"

SELECT IF(1=1,"OK","ERROR")

IFNULL(value1,value2) 演示:当第一个值为NULL时,返回"Default"

SELECT IFNULL(NULL,"Default")

 

案例1:创建一个 emp 员工表,添加一些员工数据

CREATE TABLE emp(
    id int comment "编号",
    workno varchar(10) comment "工号",
    name varchar(10) comment "姓名",
    gender char(1) comment "性别",
    age tinyint unsigned comment "年龄",
    idcard char(18) comment "身份证号",
    workaddress varchar(50) comment "工作地址",
    entrydate date comment "入职时间"
) comment "员工表";

INSERT INTO emp (id,workno,name,gender,age,idcard,workaddress,entrydate)
VALUES
(1,"1","员工1","男","23","123456789000000000","江西","2022-8-31"),
(2,"2","员工2","男","26","123456789000000001","河北","2022-12-31"),
(3,"3","员工3","女","23","123456789000000002","河北","2022-5-31"),
(4,"4","员工4","女","24","123456789000000003","山西","2022-3-31"),
(5,"5","员工5","男","23","123456789000000000","江西","2022-8-21"),
(6,"6","员工6","男","26","123456789000000001","北京","2022-12-21"),
(7,"7","员工7","女","23","123456789000000002","北京","2022-5-21"),
(8,"8","员工8","女","24","123456789000000003","山西","2022-3-21"),
(9,"9","员工9","男","23","123456789000000000","江西","2022-8-11"),
(10,"10","员工10","男","26","123456789000000001","河北","2022-12-11"),
(11,"11","员工11","女","23","123456789000000002","河北","2022-5-11"),
(12,"12","员工12","女","24","123456789000000003","上海","2022-3-11")

 

1)查询 emp表 的员工姓名和工作地址(北京/上海 ==>"一线城市",其它==> "二线城市")

SELECT name,
IF(workaddress IN ("北京","上海"),"一线城市","二线城市") 
FROM emp;

# 或

SELECT name,
CASE workaddress WHEN "北京" THEN "一线城市" WHEN "上海" THEN "一线城市" ELSE "二线城市" END
FROM emp;

 

案例2:创建一个 score 学生成绩表,添加一些学生数据

CREATE TABLE score(
    id int comment "ID",
    name varchar(20) comment "姓名",
    math int comment "数学",
    english int comment "英语",
    chinese int comment "语文"
)comment "学员成绩表";
INSERT INTO score (id,name,math,english,chinese)
VALUES    
(1,"学生1",60,70,75),
(2,"学生2",70,90,85),
(3,"学生3",80,80,65),
(4,"学生4",85,90,95),
(5,"学生5",40,60,85)

1)统计班级各个学员的成绩,成绩 >= 85 展示"优秀",成绩 >= 60 展示"及格",否则展示不及格

 

标签:comment,11,函数,23,18,员工,2022,SQL
From: https://www.cnblogs.com/REN-Murphy/p/17854619.html

相关文章

  • MySQL 按时间段统计SQL
    按2小时段统计select*from(SELECTFLOOR(HOUR(dateTimeColumn)/2)*2ashour,count(id)asnumFROMtableNamegroupbyhour)tmporderbynum 按1小时段统计select*from(SELECTHOUR(dateTimeColumn)ashour,count(id)asnumFROMtableNamegroupby......
  • 无涯教程-Tk - Line部件函数
    线小部件用于在画布中绘制线。行小部件的语法如下所示-canvasNamecreatelinex1y1x2y2...xnynoptionsx1y1,x2y2...xnyn用于确定线段的终点。Line-参数下表在下面列出了可用于行小部件的选项-Sr.No.Syntax&Remark1-arrowend确定线是否在末端具有箭头......
  • SQL server配置邮件服务已报错处理
    报错处理:SQLerror'Mailnotqueued.DatabaseMailisstopped.UseSysmail_start_sptostartDatabaseMail'邮件未排队。数据库邮件已停止。使用sysmail_start_sp来启动数据库邮件。1)确认数据库邮件是否启动。执行下面sql,若显示“1”,表示已启动。sp_configure'showadvanced......
  • python mysql 文件数据入库
    概述使用python读取数据文件(本文用的csv),处理后批量插入MySQL数据库中,在此做个记录。程序importpandasaspdfromdatetimeimportdatetimeimportpymysql#GLBS_real_power_mv_no=1000001real_power_file_file_path='./GLBS__DATA.csv'#mysqlmysql_host='127.0......
  • MySQL_索引
    索引的分类按数据结构:B+树,Hash,Full-text。按物理存储:聚簇(主键),二级(辅助)。字段特性:主键,唯一,普通,前缀。字段个数:单列,联合。按数据结构-B+树索引除此之外还有:Hash,Full-text回表:要查找2个B+树才能找到数据(二级索引-得到主键值-主键索引-得到数据)。覆盖索引:在二级索引的B+树......
  • 无涯教程-Tk - Radiobutton部件函数
    单选按钮小部件实现了多项选择按钮,这是一种向用户提供许多可能选择并让用户仅选择其中一项的方法。单选按钮小部件的语法如下所示-radiobuttonradiobuttonNameoptionsRadiobutton-参数下表在下表中列出了可用于单选按钮窗口小部件的选项-Sr.No.Syntax&Remark1-fon......
  • map 函数与迭代器
    map()函数python中的map()函数是一个内建函数,它可以对指定序列进行映射操作。map()函数的第一个参数是一个函数,这个函数被应用到序列的每一个元素上。第二个函数是一个或多个可迭代的序列。map()函数会返回一个迭代器,这个迭代器包含了应用函数后的结果。那迭代器是什么?迭代器......
  • 4.MySQL(数据模型,SQL简介,DDL,DML)
    MySQL(数据模型,SQL简介,DDL,DML)概述:数据库:DataBase(DB),是存储和管理数据的仓库;数据库管理系统:DataBaseManagementSystem(DBMS),操纵和管理数据库的大型软件;SQL:StructuredQueryLanguage,操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准;MySQL是一......
  • 5.MySQL(DQL,多表)
    MySQL(DQL,多表)SQL简介:DQL:DQL(基本查询):语法:查询多个字段:select字段1,字段2,字段3from表名;查询所有字段(通配符):select*from表名;设置别名:select字段1[as别名1],字段2[as别名2]from表名;去除重复记录:selectdistinct字段列表from表名;注意事项:*号代......
  • 7.动态SQL
    动态SQL简介:随着用户的输入或外部条件的变化而变化的SQL语句,我们称为动态SQL;写在XML映射文件中;元素:1.<if></if>:作用用于判断条件是否成立;属性:text属性:用于条件判断,如果条件为true,则拼接SQL,判断条件为实体类属性名;例子:<iftest="name!=null"> ANDautho......