SQL-Select单表查询总结
数据定义:
建立一张学生表
建立一张课程和学生的关联表
查询 单表查询
1.查出带入计算的。
2.运用一些函数进行查询
建立一张学生表
CREATE TABLE Student
(Sno CHAR(10) PRIMARY KEY,
Sname CHAR(20) UNIQUE,
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)
);
CREATE TABLE `sc` (
`Sno` char(7) NOT NULL,
`Cno` char(4) NOT NULL,
PRIMARY KEY (`Sno`,`Cno`),
KEY `cno_fk` (`Cno`),
CONSTRAINT `cno_fk` FOREIGN KEY (`Cno`) REFERENCES `course` (`Cno`),
CONSTRAINT `sno_fk` FOREIGN KEY (`Sno`) REFERENCES `student` (`Sno`)
)
建立一张课程和学生的关联表
CREATE TABLE `sc` (
`Sno` char(7) NOT NULL,
`Cno` char(4) NOT NULL,
PRIMARY KEY (`Sno`,`Cno`),
KEY `cno_fk` (`Cno`),
CONSTRAINT `cno_fk` FOREIGN KEY (`Cno`) REFERENCES `course` (`Cno`),
CONSTRAINT `sno_fk` FOREIGN KEY (`Sno`) REFERENCES `student` (`Sno`)
)
查询 单表查询
1.查出带入计算的。
SELECT sname ,2017-sage FROM student
2.运用一些函数进行查询
SELECT sname ,"year of birth" ,2017-sage ,LOWER(sdept)FROM student
SELECT sname NAME,"year of birth" birth,2017-sage age ,LOWER(sdept) dept FROM student
SELECT DISTINCT sno FROM student
- 根据指定条件查询
SELECT * FROM student WHERE sdept="cs"
SELECT sname ,sage FROM student WHERE sage>10
- 确定范围between和not between
SELECT sname ,sage ,sdept FROM student WHERE sage BETWEEN 10 AND 20
- 确定集合IN和NOT IN
SELECT sname ,sage,sdept FROM student WHERE sdept IN ("cs","rj")
- 字符匹配,%表示任意字符,_表示单个字符,关键字LIKE
SELECT * FROM student WHERE sname LIKE "%s%"
- 空值查询 IS NULL
SELECT * FROM student WHERE sname IS NOT NULL
- 多重条件and 或者or
SELECT * FROM student WHERE sdept="cs" AND sname="lisi"
SELECT * FROM student WHERE sdept="cs" OR sname="lisi"
SELECT * FROM student ORDER BY sage,sno ASC
SELECT COUNT(sage) FROM student
SELECT Customer,SUM(OrderPrice) FROM Orders
GROUP BY Customer
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: SQL SELECT WHERE 子句 介绍
- 下一篇: SQL Select语句完整的执行顺序