MySQL視圖中如何使用IF和CASE語(yǔ)句
MySQL視圖使用IF和CASE語(yǔ)句
在創(chuàng)建視圖時(shí),經(jīng)常需要使用到MySQL的流程控制語(yǔ)句,如:IF語(yǔ)句和CASE語(yǔ)句。
示例:
創(chuàng)建MySQL視圖中使用IF和CASE語(yǔ)句。
(1)創(chuàng)建員工信息表
-- 判斷數(shù)據(jù)表是否存在,存在則刪除 DROP TABLE IF EXISTS tb_staff; -- 創(chuàng)建數(shù)據(jù)表 CREATE TABLE IF NOT EXISTS tb_staff ( id INT AUTO_INCREMENT PRIMARY KEY COMMENT '編號(hào)', NAME VARCHAR(50) NOT NULL COMMENT '姓名', sex INT COMMENT '性別(1:男;2:女;)', dept_code VARCHAR(10) COMMENT '部門編號(hào)', is_post BIT COMMENT '是否在職(0:否;1:是)' ) COMMENT = '員工信息表';
(2)新增員工數(shù)據(jù)
-- 新增數(shù)據(jù) INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_01',1,'1001',1); INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_02',2,'1002',1); INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_03',1,'1003',0); INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_04',1,'1001',1); INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_05',2,'1008',1); INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_06',1,'1001',0); INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_07',2,'1002',1); INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_08',1,'1003',0); INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_09',1,'1001',1); INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_10',2,'1008',0);
查詢員工信息表結(jié)果:
(3)創(chuàng)建員工視圖,在視圖中使用IF和CASE語(yǔ)句
-- 創(chuàng)建視圖 CREATE OR REPLACE VIEW view_staff AS SELECT id ,NAME ,IF(sex=1,'男','女') AS sex_name ,CASE dept_code WHEN '1001' THEN '研發(fā)部' WHEN '1002' THEN '人事部' WHEN '1003' THEN '財(cái)務(wù)部' ELSE '其他' END AS dept_name ,IF(is_post,'在職','離職') AS is_post_name FROM tb_staff ;
查詢員工視圖結(jié)果:
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- MySQL如何根據(jù)不同條件聯(lián)查不同表的數(shù)據(jù)if/case
- MySQL使用IF語(yǔ)句及用case語(yǔ)句對(duì)條件并結(jié)果進(jìn)行判斷?
- MySQL控制流函數(shù)(-if?,elseif,else,case...when)
- 深入淺析MySQL 中 Identifier Case Sensitivity問題
- MySQL中的if和case語(yǔ)句使用總結(jié)
- MYSQL中有關(guān)SUM字段按條件統(tǒng)計(jì)使用IF函數(shù)(case)問題
- mysql中IFNULL,IF,CASE的區(qū)別介紹
- Mysql CASE IF 判空的具體使用
相關(guān)文章
詳解MySQL 5.7 MGR單主確定主節(jié)點(diǎn)方法
這篇文章主要介紹了詳解MySQL 5.7 MGR單主確定主節(jié)點(diǎn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09mysql命令導(dǎo)出表結(jié)構(gòu)和數(shù)據(jù)的操作方法
在日常使用中,我們經(jīng)常需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份和復(fù)制,因此必須了解如何導(dǎo)出表結(jié)構(gòu)和表數(shù)據(jù),以下是使用MySQL命令導(dǎo)出表結(jié)構(gòu)和表數(shù)據(jù)的方法,感興趣的朋友一起看看吧2023-11-11MySQL?時(shí)間類型用?datetime,?timestamp?還是?integer?更好
這篇文章主要介紹了MySQL?時(shí)間類型用datetime,timestamp還是integer更好,文章通過圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09MYSQL中SWITCH語(yǔ)句和循環(huán)語(yǔ)句舉例詳解
MySQL提供了多種循環(huán)語(yǔ)句來實(shí)現(xiàn)循環(huán)操作,其中包括while循環(huán)、loop循環(huán)、repeat循環(huán)和非標(biāo)準(zhǔn)的goto循環(huán),下面這篇文章主要給大家介紹了關(guān)于MYSQL中SWITCH語(yǔ)句和循環(huán)語(yǔ)句的相關(guān)資料,需要的朋友可以參考下2024-06-06