SQL查询语句(一)
来源:互联网 发布:怎么发送淘宝店铺链接 编辑:程序博客网 时间:2024/05/16 09:31
一、查询语句格式
SELECT [ALL|DISTINCT] [表名.]{*|列名|表达式[AS 新列名]}
[INTO :主变量[,:主变量]…]
FROM 表名[表别名], …
[WHERE 条件表达式|子查询]
[GROUP BY 列名, …
[HAVING 分组表达式]]
[{UNION|INTERSECT |EXCEPT}SELECT…FROM…]
[ORDER BY 列名|列序号[ASC|DESC], …];
二、单表查询
Where 子句——运算符
比较:<、<=、>、>=、=、<>、not+ ~
确定范围:
Between A and B、NotBetween A and B
确定集合:IN、NOTIN
字符匹配:LIKE,NOTLIKE
空值:IS NULL、ISNOT NULL
多重条件:AND、OR、NOT
1----
SELECT Sname NAME,'Year of Birth:' BIRTH,
2003-sage BIRTHDAY, LOWER(Sdept) DEPARTMENT
FROM Student;
2--- 选择表中的行
消除重复行: DISTINCT (缺省为ALL)
SELECT DISTINCT SnoFROM student
3--- BETWEEN AND
求年龄在~ (含, 22)之间的学生名及年龄(或不在~之间)
SELECT Sname, Sage FROM Student
WHERE Sage BETWEEN 18 AND 22; (WHERE Sage>=18 AND Sage<=22);
4--- IN orNOT IN
SELECT * FROM Student
WHERE Sdept IN(‘IE’, ‘CS’, ‘MA’);(WHERE Sdept=‘IE’OR Sdept=‘CS’OR Sdept=‘MA’)
5--- Like
格式:
[NOT] LIKE ‘匹配串’[ESCAPE ‘换码字符’]
%: 表示任意长度(≥)的任意字符
_: 表示单个的任意字符
ESCAPE ‘换码字符’: 匹配串中‘换码字符’(转义符)之后的字(%,__),被定义为普通字符(不作通配符用)
列出课程名称中带有‘_’的课号及课名:
Select cno ,cnameFrom Course Where cnameLIKE ‘%"_%’escape ‘"’
求以‘DATA_BASE’开头且倒数第五个字符为’S’的课程名
SELECT Cname FROM Course WHERE CnameLIKE ‘DATA"_BASE%S_ _ _ _’ESCAPE’"’;
6--- NULL
SELECT Sno, Cno FROM SCWHERE Grade IS NULL;
7--- 分组与组函数
只有出现在Group By子句中的属性,才可出现在Select子句中
组函数的使用:
COUNT([DISTINCT|ALL]*|列名)
SUM([DISTINCT|ALL] 列名)
AVG([DISTINCT|ALL] 列名)
MAX([DISTINCT|ALL] 列名)
MIN([DISTINCT|ALL] 列名)
组函数可用于SELECT子句中的目标列表中,或在HAVING子句的分组表达式中用作条件。
对分出的每一组用HAVING进行筛选,筛选条件要用到组函数。
Having 与Where的区别:
Where 决定哪些元组被选择参加运算,作用于关系中的元组
Having 决定哪些分组符合要求,作用于分组
例:统计各系学生的人数。
Select sdept,count(*)as stu_count
From Student
Group By sdept
例:求选修了课程的学生人数
SELECT COUNT(DISTINCT Sno)FROM SC;
例:求选修各门课的人数及平均成绩
SELECT Cno,COUNT(Sno),AVG(GR)FROM SC GROUP BY Cno;
例:求选修课程在2门以上且都及格的学生号及总平均分
SELECT Sno, AVG(Grade) FROM SCGROUP BY Sno HAVING COUNT(Cno)>2AND MIN(Grade)>=60;
8--- 排序
用ORDER BY子句对查询结果按照一个或多个列的值进行升/降排列输出,升序为ASC;降序为DESC,空值将作为最大值排序
- SQL查询语句(一)
- SQL查询语句(一)
- 通用SQL数据库查询语句 (一)
- SQL查询语句题目(一)
- SQL语句之查询基础(一)
- SQL题:sql语句查询(一)
- SQL查询语句的书写要点(基础一)
- oracle数据库SQL查询语句练习一
- oracle中sql语句查询优化(一)
- SQL语句(一)
- SQL语句(一)
- SQL语句(一)
- sql语句查询(待续)
- SQL查询语句(二)
- T-SQL查询语句(一):单表查询
- T-SQL查询语句(一):单表查询
- T-SQL查询语句(一):单表查询
- SQL查询(一)
- mysql Plugin 'InnoDB' init function returned error
- vector之reserve函数
- python 逻辑表达式应用
- 读取文件
- Ionic入门
- SQL查询语句(一)
- How do I sort an array of hashes by a value in the hash?
- JXLS-----JXLS读取Excel实例
- 第一周周三
- hdoj 1213 How Many Tables 【并查集】
- 机房收费系统——再回首
- 查找文件中的某个内容出现的次数
- GCD理解(二)
- hdu杭电2120 Ice_cream's world I【并查集】