DB2 供应了干系式材料库的查询言语 SQL (Structured Query Language),是一种十分白话化、既易学又易懂的语法。此一言语几近是每一个材料库体系都必需供应的,用以暗示干系式的操作,包括了材料的界说(DDL)和材料的处置(DML)。SQL本来拼成SEQUEL,这言语的原型以"体系 R"的名字在 IBM 圣荷西实行室完成,经由IBM外部及其他的很多利用性及效力测试,其了局相当使人写意,并决意在体系R 的手艺基本开展出来 IBM 的产物。并且美国国度尺度学会(ANSI)及国际尺度化组织(ISO)在1987遵守一个几近是以 IBM SQL 为基本的尺度干系式材料言语界说。
INSERT INTO table_name (column1,column2,...)
SELECT columnx,columny,... FROM another_table
申明:也能够经由一个子查询(subquery)把其余表格的材料填入。
2、查询材料:
根基查询
SELECT column1,columns2,...
FROM table_name
申明:把table_name 的特定栏位材料全体列出来
SELECT *
FROM table_name
WHERE column1 = xxx
[AND column2 > yyy] [OR column3 <> zzz]
申明:
1.''*''暗示全体的栏位都列出来。
2.WHERE 之後是接前提式,把合适前提的材料列出来。
SELECT column1,column2
FROM table_name
ORDER BY column2 [DESC]
申明:ORDER BY 是指定以某个栏位做排序,[DESC]是指从大到小分列,若没有指明,则是从小到大
分列
组合查询
组合查询是指所查询得材料来历其实不只要单一的表格,而是结合一个以上的
表格才干够失掉了局的。
SELECT *
FROM table1,table2
WHERE table1.colum1=table2.column1
申明:
1.查询两个表格中个中 column1 值不异的材料。
2.固然两个表格互相对照的栏位,其材料形状必需不异。
3.一个庞杂的查询其动用到的表格能够会良多个。
整合性的查询:
SELECT COUNT (*)
FROM table_name
WHERE column_name = xxx
申明:
查询合适前提的材料共有几笔。
SELECT SUM(column1)
FROM table_name
申明:
1.盘算出总和,所选的栏位必需是可数的数字形状。
2.除此之外还有 AVG() 是盘算均匀、MAX()、MIN()盘算最大最小值的整合性查询。
SELECT column1,AVG(column2)
FROM table_name
GROUP BY column1
HAVING AVG(column2) > xxx
申明:
1.GROUP BY: 以column1 为一组盘算 column2 的均匀值必需和 AVG、SUM等整合性查询的关头字
一同利用。
2.HAVING : 必需和 GROUP BY 一同利用作为整合性的限制。
复合性的查询
SELECT *
FROM table_name1
WHERE EXISTS (
SELECT *
FROM table_name2
WHERE conditions )
申明:
1.WHERE 的 conditions 可所以别的一个的 query。
2.EXISTS 在此是指存在与否。
SELECT *
FROM table_name1
WHERE column1 IN (
SELECT column1
FROM table_name2
WHERE conditions )
申明:
1. IN 後面接的是一个纠合,暗示column1 存在纠合外面。
2. SELECT 出来的材料形状必需合适 column1。
其他查询
SELECT *
FROM table_name1
WHERE column1 LIKE ''x%''
申明:LIKE 必需和後面的''x%'' 相照应暗示以 x为开首的字串。
SELECT *
FROM table_name1
WHERE column1 IN (''xxx'',''yyy'',..)
申明:IN 後面接的是一个纠合,暗示column1 存在纠合外面。
SELECT *
FROM table_name1
WHERE column1 BETWEEN xx AND yy
申明:BETWEEN 暗示 column1 的值介於 xx 和 yy 之间。
3、更改材料:
UPDATE table_name
SET column1=''xxx''
WHERE conditoins
申明:
1.更改某个栏位设定其值为''xxx''。
2.conditions 是所要合适的前提、若没有 WHERE 则全部 table 的谁人栏位城市全体被更改。
4、删除材料:
DELETE FROM table_name
WHERE conditions
申明:删除合适前提的材料。