分页查问:
个别的分页查问应用简略的 limit 子句就能够实现。
SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
LIMIT 子句能够被用于指定 SELECT 语句返回的记录数。需注意以下几点:
- 第一个参数指定第一个返回记录行的偏移量
- 第二个参数指定返回记录行的最大数目
- 如果只给定一个参数:它示意返回最大的记录行数目
- 第二个参数为 -1 示意检索从某一个偏移量到记录集的完结所有的记录行
- 初始记录行的偏移量是 0(而不是 1)
TOP():
TOP 子句用于规定要返回的记录的数目。
对于领有数千条记录的大型表来说,TOP 子句是十分有用的。
语法:
SELECT TOP number|percent column_name(s)
FROM table_name
LIKE:
通配符:
% | 代替一个或多个字符 |
---|---|
_ | 仅代替一个字符 |
[charlist] | 字符列中的任何繁多字符 |
1 或者 [!charlist] | 不在字符列中的任何繁多字符 |
LIKE 操作符用于在 WHERE 子句中搜寻列中的指定模式。
语法:
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern
子查问
内部查问为父查问,外部查问为子查问。
1. 作为查问条件应用 where
--1. 子查问作为条件
-- 查问学号在王五前边的同学
select * from StuInfo where stuid < (select stuid from StuInfo where stuname='王五')
2. 作为长期表应用 from
-- 子查问 3:stuinfo、StuMarks 都作为子查问
select stuname,subject,score from
(select * from stuinfo where stuname = '李四') s1,
(select * from stumarks where score > 80) s2
where s1.stuid = s2.stuid
3. 作为列应用 select
--3. 子查问作为列应用
-- 查问所有学员 html 问题,没有问题以 null 显示
select s.*,
(select score from StuMarks where subject='html' and s.stuid=StuMarks.stuid) as '问题'
from StuInfo s
在条件查问中应用 ‘<‘ , ‘>’ , ‘=’ 后 + 查问句只能查一列。
in 和 not in 通常在 where 子句中应用,在 in 和 not in 后接的子查问中,能够有多个值呈现,但必须只能有一列
--in 合乎 in 前面所有条件都可能查问进去,一系列确定的值或表中的某一列
-- 查问学号为 1 和 3 的学员信息
--select * from stuinfo where stuid = 1 or stuid = 3
select * from stuinfo where stuid in (1,3)
--not..in 对 in 取反,不合乎 in 前面所有条件都可能查问进去
-- 查问学号除了 1 和 3 的以外的学员信息
select * from stuinfo where stuid not in (1,3)
应用 SOME,ANY,ALL 进行子查问:
1. 在 SQL 查问中,SOME,ANY,ALL 后必须跟子查问。
2. 在 SQL 查问中,SOME,ANY,ALL 的作用是一样的,示意其中的任何一项。ALL 则示意其中的所有的项。
--SOME、ANY、ALL 后必须跟子查问
--SOME 和 ANY 的作用是一样的, 示意其中的任何一项
select * from StuInfo where stuid > any(select stuid from StuInfo where stuid>1)
select * from StuInfo where stuid > some(select stuid from StuInfo where stuid>1)
--all 示意其中的所有的项
select * from StuInfo where stuid > all(select stuid from StuInfo where stuid>1)
compute 聚合技术
1. 应用了 comput 进行总计算后的查问失去了两个后果集,第一个后果集返回查问后面的查问明细,后一个后果返回汇总的后果,咱们也能够在 compute 子句中增加多个汇总计算表达式。
COMPUT 子句须要下列信息:
①可选 BY 关键字。它基于每一列计算指定的行聚合。
②行聚合函数名称。包含 SUM,AVG,MIN,MAX 或 COUNT。
③要对其执行行聚合函数的列。
例:
-- 对信息进行查问并统计
select * from StuMarks where subject='html'
compute max(score),min(score),avg(score)
-- 对信息进行分组查问并统计
select * from StuMarks order by stuid desc
compute avg(score),sum(score) by stuid
谢谢大家浏览,如果想要晓得更多 java 基础知识,能够戳我一起交流学习!
- charlist ↩