赞
踩
今天学习一下数据库查询的select语句及where限定语句
这是测试用的数据库
DROP DATABASE IF EXISTS `school`; CREATE DATABASE IF NOT EXISTS `school`; -- 创建一个school数据库 USE `school`; -- 创建年级表 DROP TABLE IF EXISTS `grade`; CREATE TABLE `grade`( `gradeid` INT(11) NOT NULL AUTO_INCREMENT COMMENT '年级编号', `gradename` VARCHAR(50) NOT NULL COMMENT '年级名称', PRIMARY KEY (`gradeid`) ) ENGINE=INNODB AUTO_INCREMENT = 6 DEFAULT CHARSET = utf8; -- 插入年级数据 INSERT INTO `grade` (`gradeid`,`gradename`) VALUES(1,'大一'),(2,'大二'),(3,'大三'),(4,'大四'),(5,'预科班'); -- 创建科目表 DROP TABLE IF EXISTS `subject`; CREATE TABLE `subject`( `subjectno`INT(11) NOT NULL AUTO_INCREMENT COMMENT '课程编号', `subjectname` VARCHAR(50) DEFAULT NULL COMMENT '课程名称', `classhour` INT(4) DEFAULT NULL COMMENT '学时', `gradeid` INT(4) DEFAULT NULL COMMENT '年级编号', PRIMARY KEY (`subjectno`) )ENGINE = INNODB AUTO_INCREMENT = 18 DEFAULT CHARSET = utf8; -- 插入科目数据 INSERT INTO `subject`(`subjectno`,`subjectname`,`classhour`,`gradeid`)VALUES (1,'高等数学-1',110,1), (2,'高等数学-2',110,2), (3,'高等数学-3',100,3), (4,'高等数学-4',130,4), (5,'C语言-1',110,1), (6,'C语言-2',110,2), (7,'C语言-3',100,3), (8,'C语言-4',130,4), (9,'Java程序设计-1',110,1), (10,'Java程序设计-2',110,2), (11,'Java程序设计-3',100,3), (12,'Java程序设计-4',130,4), (13,'数据库结构-1',110,1), (14,'数据库结构-2',110,2), (15,'数据库结构-3',100,3), (16,'数据库结构-4',130,4), (17,'C#基础',130,1); -- 创建成绩表 DROP TABLE IF EXISTS `result`; CREATE TABLE `result`( `studentno` INT(4) NOT NULL COMMENT '学号', `subjectno` INT(4) NOT NULL COMMENT '课程编号', `examdate` DATETIME NOT NULL COMMENT '考试日期', `studentresult` INT (4) NOT NULL COMMENT '考试成绩', KEY `subjectno` (`subjectno`) )ENGINE = INNODB DEFAULT CHARSET = utf8; -- 插入成绩数据 这里仅插入了一组,其余自行添加 INSERT INTO `result`(`studentno`,`subjectno`,`examdate`,`studentresult`) VALUES (1003,1,'2013-11-11 16:00:00',85), (1003,2,'2013-11-12 16:00:00',70), (1003,3,'2013-11-11 09:00:00',68), (1004,4,'2013-11-13 16:00:00',98), (1004,5,'2013-11-14 16:00:00',58), (1004,1,'2013-11-11 16:00:00',90), (1005,2,'2013-11-12 16:00:00',86), (1005,3,'2013-11-11 09:00:00',66), (1006,4,'2013-11-13 16:00:00',85), (1006,5,'2013-11-14 16:00:00',90); -- 创建学生表 DROP TABLE IF EXISTS `students`; CREATE TABLE `student`( `studentno` INT(4) NOT NULL COMMENT '学号', `loginpwd` VARCHAR(20) DEFAULT NULL, `studentname` VARCHAR(20) DEFAULT NULL COMMENT '学生姓名', `sex` TINYINT(1) DEFAULT NULL COMMENT '性别,0或1', `gradeid` INT(11) DEFAULT NULL COMMENT '年级编号', `phone` VARCHAR(50) NOT NULL COMMENT '联系电话,允许为空', `address` VARCHAR(255) NOT NULL COMMENT '地址,允许为空', `borndate` DATETIME DEFAULT NULL COMMENT '出生时间', `email` VARCHAR (50) NOT NULL COMMENT '邮箱账号允许为空', `identitycard` VARCHAR(18) DEFAULT NULL COMMENT '身份证号', PRIMARY KEY (`studentno`), UNIQUE KEY `identitycard`(`identitycard`), KEY `email` (`email`) )ENGINE=MYISAM DEFAULT CHARSET=utf8; -- 插入学生数据 其余自行添加 这里只添加了2行 INSERT INTO `student`(`studentno`,`loginpwd`,`studentname`,`sex`,`gradeid`,`phone`,`address`,`borndate`,`email`,`identitycard`) VALUES (1003,'123456','张伟',0,2,'13800001234','北京朝阳','1980-1-1','text123@qq.com','123456198001011234'), (1004,'123456','赵强',1,3,'13800002222','广东深圳','1990-1-1','text111@qq.com','123456199001011233');
比如在以上的数据库中,如果想查询所有的考试成绩,则用语句
SELECT * FROM result
结果是这样的
但如果我只想看哪些考生参加了考试呢?这就要我们对输出结果做一些去重处理
SELECT * FROM result -- 查询所有结果
SELECT `studentno` FROM restul -- 查询结果的学号
SELECT DISTINCT `studentno` FROM result -- 查询去重后的学号
最后结果如下
归纳起来就是:
select distinct 字段名 from 表名
select还有许多其他用法,比如
SELECT VERSION() -- 查询版本信息
SELECT 3*20-2 -- 运算
SELECT @@auto_increment_increment -- 查询自增步长
SELECT studentno,studentresult+1 AS 新成绩 FROM result -- 改变学生成绩
数据库中表达式的类型:文本、列、null、函数、计算表达式、系统变量……
select 表达式 from 表
作业:检索数据中符合条件的值
运算符无非三种
与:and &&
或:or ||
非:not !
搜索条件由一个或多个表达式构成
由于sql里面大多是英文,所以建议使用单词,增强可读性
SELECT studentno,studentresult FROM result
如果加上限定语句就是这样
SELECT studentno,studentresult FROM result
WHERE studentresult>60 AND studentresult<90
限定语句模糊查询使用between and也可以
SELECT studentno,studentresult FROM result
WHERE studentresult BETWEEN 60 AND 90
但注意此处端点值是包含在内的
“非”语句在其中的应用
SELECT studentno,studentresult FROM result
WHERE not studentno=1000 -- 查询学号不是1000的学生成绩
总结起来就是:
select 字段名1,字段名2…… from 表名
where 限制条件
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。