DQL 学习4-- Using DQL

1. 不要设置属性的值为 “NULL”, 因为NULLs被用作多值属性的值的结束。

2.  各种类型的属性的默认值

类型 默认值
String A Single blank
Numeric Data 0
Date NULLDATE
  oracle (01/01/0001)
  MS SQL(1/1/1753)

3. default  value 在aggregate 的function 时, 会计入

某repeating 属性有 4,7,6,0 ; 则平均值计算  (4+7+6+0)/4

可以在DQL语句中过滤掉空值的情形。 WHERE "Attr" IS NOT NULLINT

4. 空值排序

在Oracle 和DB2中, 空值排在最后面

在MS SQL 和Sysbase中, 空值排在最前面

5. 在Sysbase or MS SQL Server 的Performance

不建议使用

SELECT"r_object_id"FROM"dm_sysobject"
WHEREANY"authors"='a'ORANYauthors='b'
使用以下替换:
SELECT"r_object_id"FROM"dm_sysobject"
WHEREANY("authors"='a'OR"authors"='b')


不建议使用
SELECT"r_object_id"FROM"dm_sysobject"
WHEREFOLDER('/Temp)ORFOLDER('/System')
使用以下替换:
SELECT"r_object_id"FROM"dm_sysobject"
WHEREFOLDER('/Temp','/System')


Using DQL Hints

SQL_DEF_RESULT_SET N

N 0 : all results to be returned.

FORCE_ORDER

RETURN_TOP N

OPTIMIZE_TOP N

How many rows you want returned quickly

FETCH_ALL_RESULTS N

IN and EXISTS

Passthorough hints

查找Folder 里面的子folder

select count(object_name) from "dm_folder" where FOLDER ('/foldername') ;
select count(object_name) from "dm_folder" where FOLDER (ID('0b00000b8031d105')) ;


猜你喜欢

转载自blog.csdn.net/oscar999/article/details/7887010
DQL