首页 > 学院 > 开发设计 > 正文

mysql数据库查询SQL语句总结

2019-11-08 20:56:17
字体:
来源:转载
供稿:网友

查询语句的基础建表和数据语句:

CREATE TABLE `ssh_employee` (  `ID` int(11) NOT NULL AUTO_INCREMENT,  `LAST_NAME` varchar(255) DEFAULT NULL,  `EMAIL` varchar(255) DEFAULT NULL,  `BIRTH` datetime DEFAULT NULL,  `CREATE_TIME` datetime DEFAULT NULL,  `DEPARTMENT_ID` int(11) DEFAULT NULL,  `salary` decimal(10,2) DEFAULT NULL,  `bonus` decimal(10,2) DEFAULT NULL,  `address` varchar(100) DEFAULT NULL,  PRIMARY KEY (`ID`),  KEY `FK_kfaoihyj5oll835mvidvgsxp` (`DEPARTMENT_ID`),  CONSTRAINT `FK_kfaoihyj5oll835mvidvgsxp` FOREIGN KEY (`DEPARTMENT_ID`) REFERENCES `ssh_department` (`ID`)) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8;-- ------------------------------ Records of ssh_employee-- ----------------------------INSERT INTO `ssh_employee` VALUES ('7', '都是T', 'wsw@QQ.com', '2015-12-29 00:00:00', '2016-01-08 14:03:24', '2', '1000.00', '200.00', '上海');INSERT INTO `ssh_employee` VALUES ('12', 'Jim', null, '1993-08-20 00:00:00', '2016-01-08 14:09:26', '3', '3000.00', '400.00', '北京');INSERT INTO `ssh_employee` VALUES ('13', 'Tim', 'Tim@168.com', '1992-12-12 00:00:00', '2016-01-07 00:00:00', '3', '5000.00', '600.00', '重庆');INSERT INTO `ssh_employee` VALUES ('16', 'Tim', '', '1993-03-15 00:00:00', '2016-01-07 18:31:54', '2', '7000.00', '800.00', '重庆');以上是建表语句,后面所有查询语句都是基于以上数据表格而建立;

/* 查询语句 */	/*1、查询所有列(SELECT、FROM)*/SELECT * FROM ssh_employee;	/*2、查询指定列*/SELECT EMAIL ,BIRTH FROM ssh_employee;	/*3、查询时指定别名(AS),多表查询时常用表别名,此处只举列别名*/SELECT ID AS '编号',LAST_NAME AS '名字' from ssh_employee;  /*4、查询时添加上常量列,例子:在查询时加上性别列+"男"*/SELECT ID,LAST_NAME,EMAIL ,BIRTH,'男' AS '性别' FROM ssh_employee;	/*5、查询时合并列:查询员工工资和奖金和*/SELECT ID,LAST_NAME,(salary+bonus)AS '工资' FROM ssh_employee;	/*5、查询时去除(某个字段)重复记录 (DISTINCT):查员工来自那些省市*/SELECT DISTINCT(address) FROM ssh_employee;	/*6、条件查询(WHERE)*/			/*6.1、逻辑条件(AND 、OR)				需求:查询条件编号为16且名字为 Tim的员工的所有信息			*/			SELECT * FROM ssh_employee WHERE ID=16 AND LAST_NAME='Tim';			/*6.2、比较条件(大于> 小于< 大于等于>= 小于等于<= 不等于<> between and)				 需求查询工资高于4000的员工所有信息			*/			SELECT * FROM ssh_employee WHERE (salary+bonus)>4000;			/*工资大于3000且小于6000的员工信息*/			SELECT * FROM ssh_employee WHERE (salary+bonus)>3000 AND (salary+bonus)<6000;			SELECT * FROM ssh_employee WHERE (salary+bonus) BETWEEN 3000 AND 6000;			/*6.3、判空条件(NULL 空字符串):is null/is not null/=''/<>''			查询无邮箱的员工(注意:NULL 表示没有值;""表示值为空字符串)				*/			SELECT * FROM ssh_employee WHERE EMAIL='' OR EMAIL is NULL;			/*邮箱不为空的员工*/			SELECT * FROM ssh_employee WHERE EMAIL<>'' AND EMAIL IS NOT NULL;			/*6.4、模糊条件(LIKE)				通常使用以下替换标记					%:表示任意个字符					_: 表示一个字符				需求 查询 名字第一个字母为 T的员工			*/			SELECT * FROM ssh_employee WHERE LAST_NAME LIKE 'T%';			/*需求 查询 名字中包含 T 字母的员工*/			SELECT * FROM ssh_employee WHERE LAST_NAME LIKE '%T%';上面代码为最基础的单表查询。更多查询语句请转下篇。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表