SlideShare a Scribd company logo
いまさら⼈人には聞けない・・・  
正しいクエリの書き⽅方
シンプルなクエリ
製造元がAirbusまたはBoeingで座席数が400以上の機体が欲しい
製造元がAirbusまたはBoeingで座席数が400以上の機体が欲しい
シンプルなクエリ
QUERY([航空機];[航空機]座席数>=400)  
QUERY  SELECTION([航空機];[航空機]製造元="Airbus";*)  
QUERY  SELECTION([航空機];  |  ;[航空機]製造元="Boeing")
QUERY([航空機];[航空機]座席数>=400)
QUERY SELECTION([航空機];[航空機]製造元="Airbus";*)
QUERY SELECTION([航空機]; | ;[航空機]製造元="Boeing")
製造元がAirbusまたはBoeingで座席数が400以上の機体が欲しい
シンプルなクエリ
QUERY([航空機];[航空機]座席数>=400)  
QUERY  SELECTION([航空機];[航空機]製造元="Airbus";*)  
QUERY  SELECTION([航空機];  |  ;[航空機]製造元="Boeing")
QUERY([航空機];[航空機]製造元="Airbus";*)  
QUERY([航空機];  |  ;[航空機]製造元="Boeing";*)  
QUERY([航空機];&;[航空機]座席数>=400)
QUERY([航空機];[航空機]座席数>=400)
QUERY SELECTION([航空機];[航空機]製造元="Airbus";*)
QUERY SELECTION([航空機]; | ;[航空機]製造元="Boeing")
QUERY([航空機];[航空機]製造元="Airbus";*)
QUERY([航空機]; | ;[航空機]製造元="Boeing";*)
QUERY([航空機]; & ;[航空機]座席数>=400)
製造元がAirbusまたはBoeingで座席数が400以上の機体が欲しい
シンプルなクエリ
QUERY([航空機];[航空機]座席数>=400)  
QUERY  SELECTION([航空機];[航空機]製造元="Airbus";*)  
QUERY  SELECTION([航空機];  |  ;[航空機]製造元="Boeing")
QUERY([航空機];[航空機]製造元="Airbus";*)  
QUERY([航空機];  |  ;[航空機]製造元="Boeing";*)  
QUERY([航空機];&;[航空機]座席数>=400)
QUERY  BY  FORMULA([航空機];  
   ([航空機]製造元="Airbus"  
     |  [航空機]製造元="Boeing")  &    
   [航空機]座席数>=400)
QUERY([航空機];[航空機]座席数>=400)
QUERY SELECTION([航空機];[航空機]製造元="Airbus";*)
QUERY SELECTION([航空機]; | ;[航空機]製造元="Boeing")
QUERY([航空機];[航空機]製造元="Airbus";*)
QUERY([航空機]; | ;[航空機]製造元="Boeing";*)
QUERY([航空機]; & ;[航空機]座席数>=400)
QUERY BY FORMULA([航空機];
([航空機]製造元="Airbus"
| [航空機]製造元="Boeing") & 
[航空機]座席数>=400)
製造元がAirbusまたはBoeingで座席数が400以上の機体が欲しい
シンプルなクエリ
QUERY([航空機];[航空機]座席数>=400)  
QUERY  SELECTION([航空機];[航空機]製造元="Airbus";*)  
QUERY  SELECTION([航空機];  |  ;[航空機]製造元="Boeing")
QUERY([航空機];[航空機]製造元="Airbus";*)  
QUERY([航空機];  |  ;[航空機]製造元="Boeing";*)  
QUERY([航空機];&;[航空機]座席数>=400)
QUERY  BY  FORMULA([航空機];  
   ([航空機]製造元="Airbus"  
     |  [航空機]製造元="Boeing")  &    
   [航空機]座席数>=400)
QUERY([航空機];[航空機]座席数>=400)
QUERY SELECTION([航空機];[航空機]製造元="Airbus";*)
QUERY SELECTION([航空機]; | ;[航空機]製造元="Boeing")
QUERY([航空機];[航空機]製造元="Airbus";*)
QUERY([航空機]; | ;[航空機]製造元="Boeing";*)
QUERY([航空機]; & ;[航空機]座席数>=400)
QUERY BY FORMULA([航空機];
([航空機]製造元="Airbus"
| [航空機]製造元="Boeing") & 
[航空機]座席数>=400)
リクエスト  #1
製造元がAirbusまたはBoeingで座席数が400以上の機体が欲しい
シンプルなクエリ
QUERY([航空機];[航空機]座席数>=400)  
QUERY  SELECTION([航空機];[航空機]製造元="Airbus";*)  
QUERY  SELECTION([航空機];  |  ;[航空機]製造元="Boeing")
QUERY([航空機];[航空機]製造元="Airbus";*)  
QUERY([航空機];  |  ;[航空機]製造元="Boeing";*)  
QUERY([航空機];&;[航空機]座席数>=400)
QUERY  BY  FORMULA([航空機];  
   ([航空機]製造元="Airbus"  
     |  [航空機]製造元="Boeing")  &    
   [航空機]座席数>=400)
QUERY([航空機];[航空機]座席数>=400)
QUERY SELECTION([航空機];[航空機]製造元="Airbus";*)
QUERY SELECTION([航空機]; | ;[航空機]製造元="Boeing")
QUERY([航空機];[航空機]製造元="Airbus";*)
QUERY([航空機]; | ;[航空機]製造元="Boeing";*)
QUERY([航空機]; & ;[航空機]座席数>=400)
QUERY BY FORMULA([航空機];
([航空機]製造元="Airbus"
| [航空機]製造元="Boeing") & 
[航空機]座席数>=400)
リクエスト  #1
リクエスト  #2
製造元がAirbusまたはBoeingで座席数が400以上の機体が欲しい
シンプルなクエリ
QUERY([航空機];[航空機]座席数>=400)  
QUERY  SELECTION([航空機];[航空機]製造元="Airbus";*)  
QUERY  SELECTION([航空機];  |  ;[航空機]製造元="Boeing")
QUERY([航空機];[航空機]製造元="Airbus";*)  
QUERY([航空機];  |  ;[航空機]製造元="Boeing";*)  
QUERY([航空機];&;[航空機]座席数>=400)
QUERY  BY  FORMULA([航空機];  
   ([航空機]製造元="Airbus"  
     |  [航空機]製造元="Boeing")  &    
   [航空機]座席数>=400)
QUERY([航空機];[航空機]座席数>=400)
QUERY SELECTION([航空機];[航空機]製造元="Airbus";*)
QUERY SELECTION([航空機]; | ;[航空機]製造元="Boeing")
QUERY([航空機];[航空機]製造元="Airbus";*)
QUERY([航空機]; | ;[航空機]製造元="Boeing";*)
QUERY([航空機]; & ;[航空機]座席数>=400)
QUERY BY FORMULA([航空機];
([航空機]製造元="Airbus"
| [航空機]製造元="Boeing") & 
[航空機]座席数>=400)
リクエスト  #1
リクエスト  #2
単⼀一のリクエスト
製造元がAirbusまたはBoeingで座席数が400以上の機体が欲しい
シンプルなクエリ
QUERY([航空機];[航空機]座席数>=400)  
QUERY  SELECTION([航空機];[航空機]製造元="Airbus";*)  
QUERY  SELECTION([航空機];  |  ;[航空機]製造元="Boeing")
QUERY([航空機];[航空機]製造元="Airbus";*)  
QUERY([航空機];  |  ;[航空機]製造元="Boeing";*)  
QUERY([航空機];&;[航空機]座席数>=400)
QUERY  BY  FORMULA([航空機];  
   ([航空機]製造元="Airbus"  
     |  [航空機]製造元="Boeing")  &    
   [航空機]座席数>=400)
QUERY([航空機];[航空機]座席数>=400)
QUERY SELECTION([航空機];[航空機]製造元="Airbus";*)
QUERY SELECTION([航空機]; | ;[航空機]製造元="Boeing")
QUERY([航空機];[航空機]製造元="Airbus";*)
QUERY([航空機]; | ;[航空機]製造元="Boeing";*)
QUERY([航空機]; & ;[航空機]座席数>=400)
QUERY BY FORMULA([航空機];
([航空機]製造元="Airbus"
| [航空機]製造元="Boeing") & 
[航空機]座席数>=400)
リクエスト  #1
リクエスト  #2
単⼀一のリクエスト
単⼀一のリクエスト
製造元がAirbusまたはBoeingで座席数が400以上の機体が欲しい
シンプルなクエリ
条件の絞り込み順序が分からない?
QUERY([航空機];[航空機]製造元="Airbus";*)
QUERY([航空機]; | ;[航空機]製造元="Boeing";*)
QUERY([航空機]; & ;[航空機]座席数>=400)
条件の絞り込み順序が分からない?
QUERY([航空機];[航空機]製造元="Airbus";*)
QUERY([航空機]; | ;[航空機]製造元="Boeing";*)
QUERY([航空機]; & ;[航空機]座席数>=400)
[航空機]製造元="Airbus"
条件の絞り込み順序が分からない?
QUERY([航空機];[航空機]製造元="Airbus";*)
QUERY([航空機]; | ;[航空機]製造元="Boeing";*)
QUERY([航空機]; & ;[航空機]座席数>=400)
[航空機]製造元="Airbus" | [航空機]製造元="Boeing"
条件の絞り込み順序が分からない?
QUERY([航空機];[航空機]製造元="Airbus";*)
QUERY([航空機]; | ;[航空機]製造元="Boeing";*)
QUERY([航空機]; & ;[航空機]座席数>=400)
[航空機]製造元="Airbus" | [航空機]製造元="Boeing"( )
&
[航空機]座席数>=400
条件の絞り込み順序が分からない?
QUERY([航空機];[航空機]製造元="Airbus";*)
QUERY([航空機]; | ;[航空機]製造元="Boeing";*)
QUERY([航空機]; & ;[航空機]座席数>=400)
[航空機]製造元="Airbus" | [航空機]製造元="Boeing"( )
&
[航空機]座席数>=400
条件の絞り込み順序が分からない?
v3以来
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
ARRAY INTEGER($_̲year;0)
APPEND TO ARRAY($_̲year;1986)
APPEND TO ARRAY($_̲year;1987)
APPEND TO ARRAY($_̲year;1990)
$date1stjan:=Add to date(!00/00/0000!;$_̲year{1};1;1)
$date31dec:=Add to date(!00/00/0000!;$_̲year{1};12;31)
QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec;*)
For ($i;2;Size of array($_̲year);1)
$date1stjan:=Add to date(!00/00/0000!;$_̲year{$i};1;1)
$date31dec:=Add to date(!00/00/0000!;$_̲year{$i};12;31)
QUERY([Aircraft]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*)
QUERY([Aircraft]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec;*)
End for
QUERY([航空機];[航空機]エンジン数=4)
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
ARRAY INTEGER($_̲year;0)
APPEND TO ARRAY($_̲year;1986)
APPEND TO ARRAY($_̲year;1987)
APPEND TO ARRAY($_̲year;1990)
$date1stjan:=Add to date(!00/00/0000!;$_̲year{1};1;1)
$date31dec:=Add to date(!00/00/0000!;$_̲year{1};12;31)
QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec;*)
For ($i;2;Size of array($_̲year);1)
$date1stjan:=Add to date(!00/00/0000!;$_̲year{$i};1;1)
$date31dec:=Add to date(!00/00/0000!;$_̲year{$i};12;31)
QUERY([Aircraft]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*)
QUERY([Aircraft]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec;*)
End for
QUERY([航空機];[航空機]エンジン数=4)
複雑なクエリ
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1986;*)
QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1987;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1987;*)
QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1990;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1990;*)
QUERY([航空機];[航空機]エンジン数=4)
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1986;*)
QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1987;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1987;*)
QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1990;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1990;*)
QUERY([航空機];[航空機]エンジン数=4)
[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1986;*)
QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1987;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1987;*)
QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1990;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1990;*)
QUERY([航空機];[航空機]エンジン数=4)
[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986 & [航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1986
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1986;*)
QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1987;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1987;*)
QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1990;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1990;*)
QUERY([航空機];[航空機]エンジン数=4)
[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986 & [航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1986( )
|
[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1987
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1986;*)
QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1987;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1987;*)
QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1990;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1990;*)
QUERY([航空機];[航空機]エンジン数=4)
[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986 & [航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1986( )
|
[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1987
(
)
&
[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1987
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1986;*)
QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1987;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1987;*)
QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1990;*)
QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1990;*)
QUERY([航空機];[航空機]エンジン数=4)
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
QUERY([航空機];[航空機]エンジン数=4)
CREATE SET([航空機];"4エンジン")
For ($i;1;Size of array($_̲year);1)
$date1stjan:=Add to date(!0000/00/00!;$_̲year{$i};1;1)
$date31dec:=Add to date(!0000/00/00!;$_̲year{$i};12;31)
QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*)
QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日<=$date31dec)
If ($i=1)
CREATE SET([航空機];"年年")
Else
CREATE SET([航空機];"年年2")
UNION("年年";"年年2";"年年")
End if
End for
INTERSECTION("年年";"4エンジン";"年年")
USE SET("年年")
CLEAR SET("年年")
CLEAR SET("年年2")
CLEAR SET("4エンジン")
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
QUERY([航空機];[航空機]エンジン数=4)
CREATE SET([航空機];"4エンジン")
For ($i;1;Size of array($_̲year);1)
$date1stjan:=Add to date(!0000/00/00!;$_̲year{$i};1;1)
$date31dec:=Add to date(!0000/00/00!;$_̲year{$i};12;31)
QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*)
QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日<=$date31dec)
If ($i=1)
CREATE SET([航空機];"年年")
Else
CREATE SET([航空機];"年年2")
UNION("年年";"年年2";"年年")
End if
End for
INTERSECTION("年年";"4エンジン";"年年")
USE SET("年年")
CLEAR SET("年年")
CLEAR SET("年年2")
CLEAR SET("4エンジン")
リクエスト  #1
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
QUERY([航空機];[航空機]エンジン数=4)
CREATE SET([航空機];"4エンジン")
For ($i;1;Size of array($_̲year);1)
$date1stjan:=Add to date(!0000/00/00!;$_̲year{$i};1;1)
$date31dec:=Add to date(!0000/00/00!;$_̲year{$i};12;31)
QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*)
QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日<=$date31dec)
If ($i=1)
CREATE SET([航空機];"年年")
Else
CREATE SET([航空機];"年年2")
UNION("年年";"年年2";"年年")
End if
End for
INTERSECTION("年年";"4エンジン";"年年")
USE SET("年年")
CLEAR SET("年年")
CLEAR SET("年年2")
CLEAR SET("4エンジン")
リクエスト  #1
リクエスト  #2
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
QUERY([航空機];[航空機]エンジン数=4)
CREATE SET([航空機];"4エンジン")
For ($i;1;Size of array($_̲year);1)
$date1stjan:=Add to date(!0000/00/00!;$_̲year{$i};1;1)
$date31dec:=Add to date(!0000/00/00!;$_̲year{$i};12;31)
QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*)
QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日<=$date31dec)
If ($i=1)
CREATE SET([航空機];"年年")
Else
CREATE SET([航空機];"年年2")
UNION("年年";"年年2";"年年")
End if
End for
INTERSECTION("年年";"4エンジン";"年年")
USE SET("年年")
CLEAR SET("年年")
CLEAR SET("年年2")
CLEAR SET("4エンジン")
リクエスト  #1
リクエスト  #2
リクエスト  #3,5,8
リクエスト  #4
リクエスト  #6,9
リクエスト  #7,10
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
QUERY([航空機];[航空機]エンジン数=4)
CREATE SET([航空機];"4エンジン")
For ($i;1;Size of array($_̲year);1)
$date1stjan:=Add to date(!0000/00/00!;$_̲year{$i};1;1)
$date31dec:=Add to date(!0000/00/00!;$_̲year{$i};12;31)
QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*)
QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日<=$date31dec)
If ($i=1)
CREATE SET([航空機];"年年")
Else
CREATE SET([航空機];"年年2")
UNION("年年";"年年2";"年年")
End if
End for
INTERSECTION("年年";"4エンジン";"年年")
USE SET("年年")
CLEAR SET("年年")
CLEAR SET("年年2")
CLEAR SET("4エンジン")
リクエスト  #1
リクエスト  #2
リクエスト  #3,5,8
リクエスト  #4
リクエスト  #6,9
リクエスト  #7,10
リクエスト  #11
リクエスト  #12
リクエスト  #13
リクエスト  #14
リクエスト  #15
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
QUERY([航空機];[航空機]エンジン数=4)
CREATE SET([航空機];"4エンジン")
For ($i;1;Size of array($_̲year);1)
$date1stjan:=Add to date(!0000/00/00!;$_̲year{$i};1;1)
$date31dec:=Add to date(!0000/00/00!;$_̲year{$i};12;31)
QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*)
QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日<=$date31dec)
If ($i=1)
CREATE SET([航空機];"年年")
Else
CREATE SET([航空機];"年年2")
UNION("年年";"年年2";"年年")
End if
End for
INTERSECTION("年年";"4エンジン";"年年")
USE SET("年年")
CLEAR SET("年年")
CLEAR SET("年年2")
CLEAR SET("4エンジン")
リクエスト  #1
リクエスト  #2
リクエスト  #3,5,8
リクエスト  #4
リクエスト  #6,9
リクエスト  #7,10
リクエスト  #11
リクエスト  #12
リクエスト  #13
リクエスト  #14
リクエスト  #15
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
ARRAY INTEGER($_̲year;0)
APPEND TO ARRAY($_̲year;1986)
APPEND TO ARRAY($_̲year;1987)
APPEND TO ARRAY($_̲year;1990)
$myRequest:=""
For ($i;1;Size of array($_̲year);1)
If ($i#1)
$myRequest:=$myRequest+" OR "
End if
$myRequest:=$myRequest+"([初⾶飛⾏行行⽇日]>='"+String($_̲year{$i})+"-‐‑‒01-‐‑‒01'"
$myRequest:=$myRequest+" AND [初⾶飛⾏行行⽇日]<='"+String($_̲year{$i})+"-‐‑‒12-‐‑‒31' )"
End for
$myRequest:=$myRequest+" AND [エンジン数]=4"
QUERY BY SQL([航空機];$myRequest)
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
ARRAY INTEGER($_̲year;0)
APPEND TO ARRAY($_̲year;1986)
APPEND TO ARRAY($_̲year;1987)
APPEND TO ARRAY($_̲year;1990)
$myRequest:=""
For ($i;1;Size of array($_̲year);1)
If ($i#1)
$myRequest:=$myRequest+" OR "
End if
$myRequest:=$myRequest+"([初⾶飛⾏行行⽇日]>='"+String($_̲year{$i})+"-‐‑‒01-‐‑‒01'"
$myRequest:=$myRequest+" AND [初⾶飛⾏行行⽇日]<='"+String($_̲year{$i})+"-‐‑‒12-‐‑‒31' )"
End for
$myRequest:=$myRequest+" AND [エンジン数]=4"
QUERY BY SQL([航空機];$myRequest)
単⼀一のリクエスト
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
ARRAY INTEGER($_̲year;0)
APPEND TO ARRAY($_̲year;1986)
APPEND TO ARRAY($_̲year;1987)
APPEND TO ARRAY($_̲year;1990)
$myRequest:=""
For ($i;1;Size of array($_̲year);1)
If ($i#1)
$myRequest:=$myRequest+" OR "
End if
$myRequest:=$myRequest+"([初⾶飛⾏行行⽇日]>='"+String($_̲year{$i})+"-‐‑‒01-‐‑‒01'"
$myRequest:=$myRequest+" AND [初⾶飛⾏行行⽇日]<='"+String($_̲year{$i})+"-‐‑‒12-‐‑‒31' )"
End for
$myRequest:=$myRequest+" AND [エンジン数]=4"
QUERY BY SQL([航空機];$myRequest)
v11以来
単⼀一のリクエスト
複雑なクエリ
初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
クエリの連結
※複合クエリで論論理理演算⼦子を省省略略した場合はAND  (&)  が採⽤用される
QUERY([航空機];[航空機]カテゴリー="Land")  
If  ($nbOfSeatsMin#0)  
   QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)  
End  if    
If  ($nbOfEngines#0)  
   QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)  
End  if  
QUERY([航空機];[航空機]カテゴリー="Land")  
If  ($nbOfSeatsMin#0)  
   QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)  
End  if    
If  ($nbOfEngines#0)  
   QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)  
End  if  
クエリの連結
※複合クエリで論論理理演算⼦子を省省略略した場合はAND  (&)  が採⽤用される
QUERY([航空機];[航空機]カテゴリー="Land")  
If  ($nbOfSeatsMin#0)  
   QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)  
End  if    
If  ($nbOfEngines#0)  
   QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)  
End  if  
QUERY([航空機];[航空機]カテゴリー="Land")  
If  ($nbOfSeatsMin#0)  
   QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)  
End  if    
If  ($nbOfEngines#0)  
   QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)  
End  if  
クエリの連結
※複合クエリで論論理理演算⼦子を省省略略した場合はAND  (&)  が採⽤用される
QUERY([航空機];[航空機]カテゴリー="Land")  
If  ($nbOfSeatsMin#0)  
   QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)  
End  if    
If  ($nbOfEngines#0)  
   QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)  
End  if  
QUERY([航空機];[航空機]カテゴリー="Land")  
If  ($nbOfSeatsMin#0)  
   QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)  
End  if    
If  ($nbOfEngines#0)  
   QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)  
End  if  
If  ($nbOfSeatsMin#0)  
   QUERY  ([航空機];[航空機]座席数>=$nbOfSeatsMin;*)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY  ([航空機];[航空機]座席数<=$nbOfSeatsMax;*)  
End  if    
If  ($nbOfEngines#0)  
   QUERY  ([航空機];[航空機]座席数=$nbOfEngines;*)  
End  if    
QUERY([航空機];[航空機]カテゴリー="Land")
クエリの連結
If ($nbOfSeatsMin#0)
QUERY ([航空機];[航空機]座席数>=$nbOfSeatsMin;*)
End if
If ($nbOfSeatsMax#0)
QUERY ([航空機];[航空機]座席数<=$nbOfSeatsMax;*)
End if
If ($nbOfEngines#0)
QUERY ([航空機];[航空機]座席数=$nbOfEngines;*)
End if
QUERY([航空機];[航空機]カテゴリー="Land")
※複合クエリで論論理理演算⼦子を省省略略した場合はAND  (&)  が採⽤用される
QUERY([航空機];[航空機]カテゴリー="Land")  
If  ($nbOfSeatsMin#0)  
   QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)  
End  if    
If  ($nbOfEngines#0)  
   QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)  
End  if  
QUERY([航空機];[航空機]カテゴリー="Land")  
If  ($nbOfSeatsMin#0)  
   QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)  
End  if    
If  ($nbOfEngines#0)  
   QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)  
End  if  
If  ($nbOfSeatsMin#0)  
   QUERY  ([航空機];[航空機]座席数>=$nbOfSeatsMin;*)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY  ([航空機];[航空機]座席数<=$nbOfSeatsMax;*)  
End  if    
If  ($nbOfEngines#0)  
   QUERY  ([航空機];[航空機]座席数=$nbOfEngines;*)  
End  if    
QUERY([航空機];[航空機]カテゴリー="Land")
クエリの連結
If ($nbOfSeatsMin#0)
QUERY ([航空機];[航空機]座席数>=$nbOfSeatsMin;*)
End if
If ($nbOfSeatsMax#0)
QUERY ([航空機];[航空機]座席数<=$nbOfSeatsMax;*)
End if
If ($nbOfEngines#0)
QUERY ([航空機];[航空機]座席数=$nbOfEngines;*)
End if
QUERY([航空機];[航空機]カテゴリー="Land")
1~∼4リクエスト
※複合クエリで論論理理演算⼦子を省省略略した場合はAND  (&)  が採⽤用される
QUERY([航空機];[航空機]カテゴリー="Land")  
If  ($nbOfSeatsMin#0)  
   QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)  
End  if    
If  ($nbOfEngines#0)  
   QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)  
End  if  
QUERY([航空機];[航空機]カテゴリー="Land")  
If  ($nbOfSeatsMin#0)  
   QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)  
End  if    
If  ($nbOfEngines#0)  
   QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)  
End  if  
If  ($nbOfSeatsMin#0)  
   QUERY  ([航空機];[航空機]座席数>=$nbOfSeatsMin;*)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY  ([航空機];[航空機]座席数<=$nbOfSeatsMax;*)  
End  if    
If  ($nbOfEngines#0)  
   QUERY  ([航空機];[航空機]座席数=$nbOfEngines;*)  
End  if    
QUERY([航空機];[航空機]カテゴリー="Land")
クエリの連結
If ($nbOfSeatsMin#0)
QUERY ([航空機];[航空機]座席数>=$nbOfSeatsMin;*)
End if
If ($nbOfSeatsMax#0)
QUERY ([航空機];[航空機]座席数<=$nbOfSeatsMax;*)
End if
If ($nbOfEngines#0)
QUERY ([航空機];[航空機]座席数=$nbOfEngines;*)
End if
QUERY([航空機];[航空機]カテゴリー="Land")
1~∼4リクエスト
単⼀一リクエスト
※複合クエリで論論理理演算⼦子を省省略略した場合はAND  (&)  が採⽤用される
クエリの連結
QUERY([航空機];[航空機]カテゴリー="Land";*)  
If  ($nbOfSeatsMin#0)  
   QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)  
End  if    
If  ($nbOfEngines#0)  
   QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)  
End  if    
QUERY([航空機])
QUERY([航空機];[航空機]カテゴリー="Land";*)
If ($nbOfSeatsMin#0)
QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)
End if
If ($nbOfSeatsMax#0)
QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)
End if
If ($nbOfEngines#0)
QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)
End if
クエリの連結
QUERY([航空機];[航空機]カテゴリー="Land";*)  
If  ($nbOfSeatsMin#0)  
   QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)  
End  if    
If  ($nbOfEngines#0)  
   QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)  
End  if    
QUERY([航空機])
QUERY([航空機];[航空機]カテゴリー="Land";*)
If ($nbOfSeatsMin#0)
QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)
End if
If ($nbOfSeatsMax#0)
QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)
End if
If ($nbOfEngines#0)
QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)
End if
QUERY([航空機];[航空機]ID#0)
クエリの連結
QUERY([航空機];[航空機]カテゴリー="Land";*)  
If  ($nbOfSeatsMin#0)  
   QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)  
End  if    
If  ($nbOfEngines#0)  
   QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)  
End  if    
QUERY([航空機])
QUERY([航空機];[航空機]カテゴリー="Land";*)
If ($nbOfSeatsMin#0)
QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)
End if
If ($nbOfSeatsMax#0)
QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)
End if
If ($nbOfEngines#0)
QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)
End if
QUERY([航空機];[航空機]ID#0)
無駄なインデックス検索索
クエリの連結
クエリの連結
QUERY([航空機];[航空機]カテゴリー="Land";*)  
If  ($nbOfSeatsMin#0)  
   QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)  
End  if    
If  ($nbOfEngines#0)  
   QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)  
End  if    
QUERY([航空機])
QUERY([航空機];[航空機]カテゴリー="Land";*)
If ($nbOfSeatsMin#0)
QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)
End if
If ($nbOfSeatsMax#0)
QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)
End if
If ($nbOfEngines#0)
QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)
End if
QUERY([航空機])
クエリの連結
QUERY([航空機];[航空機]カテゴリー="Land";*)  
If  ($nbOfSeatsMin#0)  
   QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)  
End  if    
If  ($nbOfEngines#0)  
   QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)  
End  if    
QUERY([航空機])
QUERY([航空機];[航空機]カテゴリー="Land";*)
If ($nbOfSeatsMin#0)
QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)
End if
If ($nbOfSeatsMax#0)
QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)
End if
If ($nbOfEngines#0)
QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)
End if
QUERY([航空機])
クエリ実⾏行行
クエリの連結
QUERY([航空機];[航空機]カテゴリー="Land";*)  
If  ($nbOfSeatsMin#0)  
   QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)  
End  if    
If  ($nbOfEngines#0)  
   QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)  
End  if    
QUERY([航空機])
QUERY([航空機];[航空機]カテゴリー="Land";*)
If ($nbOfSeatsMin#0)
QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)
End if
If ($nbOfSeatsMax#0)
QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)
End if
If ($nbOfEngines#0)
QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)
End if
QUERY([航空機])
単⼀一リクエスト
クエリ実⾏行行
クエリの連結
QUERY([航空機];[航空機]カテゴリー="Land";*)  
If  ($nbOfSeatsMin#0)  
   QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)  
End  if    
If  ($nbOfSeatsMax#0)  
   QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)  
End  if    
If  ($nbOfEngines#0)  
   QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)  
End  if    
QUERY([航空機])
QUERY([航空機];[航空機]カテゴリー="Land";*)
If ($nbOfSeatsMin#0)
QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)
End if
If ($nbOfSeatsMax#0)
QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)
End if
If ($nbOfEngines#0)
QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)
End if
QUERY([航空機])
単⼀一リクエスト
クエリ実⾏行行
クエリの連結 v3以来
Case⽂文の簡略略化
Case  of    
   :  ($operator="=")  
      QUERY([航空機];[航空機]座席数=$nbOfSeats)  
   :  ($operator=">")  
      QUERY([航空機];[航空機]座席数>$nbOfSeats)  
   :  ($operator="<")  
      QUERY([航空機];[航空機]座席数<$nbOfSeats)  
   :($operator=">=")  
      QUERY([航空機];[航空機]座席数>=$nbOfSeats)  
   :  ($operator="<=")  
      QUERY([航空機];[航空機]座席数<=$nbOfSeats)  
   :  ($operator="#")  
      QUERY([航空機];[航空機]座席数#$nbOfSeats)  
End  case  
Case of
: ($operator="=")
QUERY([航空機];[航空機]座席数=$nbOfSeats)
: ($operator=">")
QUERY([航空機];[航空機]座席数>$nbOfSeats)
: ($operator="<")
QUERY([航空機];[航空機]座席数<$nbOfSeats)
:($operator=">=")
QUERY([航空機];[航空機]座席数>=$nbOfSeats)
: ($operator="<=")
QUERY([航空機];[航空機]座席数<=$nbOfSeats)
: ($operator="#")
QUERY([航空機];[航空機]座席数#$nbOfSeats)
End case
Case⽂文の簡略略化
Case  of    
   :  ($operator="=")  
      QUERY([航空機];[航空機]座席数=$nbOfSeats)  
   :  ($operator=">")  
      QUERY([航空機];[航空機]座席数>$nbOfSeats)  
   :  ($operator="<")  
      QUERY([航空機];[航空機]座席数<$nbOfSeats)  
   :($operator=">=")  
      QUERY([航空機];[航空機]座席数>=$nbOfSeats)  
   :  ($operator="<=")  
      QUERY([航空機];[航空機]座席数<=$nbOfSeats)  
   :  ($operator="#")  
      QUERY([航空機];[航空機]座席数#$nbOfSeats)  
End  case  
QUERY([航空機];[航空機]座席数;$operator;$nbOfSeats)
Case of
: ($operator="=")
QUERY([航空機];[航空機]座席数=$nbOfSeats)
: ($operator=">")
QUERY([航空機];[航空機]座席数>$nbOfSeats)
: ($operator="<")
QUERY([航空機];[航空機]座席数<$nbOfSeats)
:($operator=">=")
QUERY([航空機];[航空機]座席数>=$nbOfSeats)
: ($operator="<=")
QUERY([航空機];[航空機]座席数<=$nbOfSeats)
: ($operator="#")
QUERY([航空機];[航空機]座席数#$nbOfSeats)
End case
QUERY([航空機];[航空機]座席数;$operator;$nbOfSeats)
Case⽂文の簡略略化
Case  of    
   :  ($operator="=")  
      QUERY([航空機];[航空機]座席数=$nbOfSeats)  
   :  ($operator=">")  
      QUERY([航空機];[航空機]座席数>$nbOfSeats)  
   :  ($operator="<")  
      QUERY([航空機];[航空機]座席数<$nbOfSeats)  
   :($operator=">=")  
      QUERY([航空機];[航空機]座席数>=$nbOfSeats)  
   :  ($operator="<=")  
      QUERY([航空機];[航空機]座席数<=$nbOfSeats)  
   :  ($operator="#")  
      QUERY([航空機];[航空機]座席数#$nbOfSeats)  
End  case  
QUERY([航空機];[航空機]座席数;$operator;$nbOfSeats)
Case of
: ($operator="=")
QUERY([航空機];[航空機]座席数=$nbOfSeats)
: ($operator=">")
QUERY([航空機];[航空機]座席数>$nbOfSeats)
: ($operator="<")
QUERY([航空機];[航空機]座席数<$nbOfSeats)
:($operator=">=")
QUERY([航空機];[航空機]座席数>=$nbOfSeats)
: ($operator="<=")
QUERY([航空機];[航空機]座席数<=$nbOfSeats)
: ($operator="#")
QUERY([航空機];[航空機]座席数#$nbOfSeats)
End case
QUERY([航空機];[航空機]座席数;$operator;$nbOfSeats)
Case⽂文の簡略略化 v3以来
ループ内でクエリ
   //  地域の国を検索索    
QUERY([国];[国]地域="欧州")  
DISTINCT  VALUES([国]ID;<>id_̲country)  
    //  その後...  
    //  史跡を検索索  
QUERY([史跡];[史跡]種別="廃墟")  
RELATE  ONE  SELECTION([史跡];[都市])  
    //  地域の史跡を検索索  
$nb_̲of_̲country:=Size  of  array(<>id_̲country)  
QUERY  SELECTION([都市];[都市]国=<>id_̲country{1};*)  
For  ($i;2;$nb_̲of_̲country-‐‑‒1;1)  
   QUERY  SELECTION([都市];  |  ;[都市]国=<>id_̲country{$i};*)  
End  for    
QUERY  SELECTION([都市];  |  ;[都市]国=<>id_̲country{$nb_̲of_̲country})
    //  地域の国を検索索    
QUERY([国];[国]地域="欧州")  
DISTINCT  VALUES([国]ID;<>id_̲country)  
    //  その後...  
    //  史跡を検索索  
QUERY([史跡];[史跡]種別="廃墟")  
RELATE  ONE  SELECTION([史跡];[都市])  
    //  地域の史跡を検索索  
$nb_̲of_̲country:=Size  of  array(<>id_̲country)  
QUERY  SELECTION([都市];[都市]国=<>id_̲country{1};*)  
For  ($i;2;$nb_̲of_̲country-‐‑‒1;1)  
   QUERY  SELECTION([都市];  |  ;[都市]国=<>id_̲country{$i};*)  
End  for    
QUERY  SELECTION([都市];  |  ;[都市]国=<>id_̲country{$nb_̲of_̲country})
ループ内でクエリ
// 地域の国を検索索
QUERY([国];[国]地域="欧州")
DISTINCT VALUES([国]ID;<>id_̲country)
// その後...
// 史跡を検索索
QUERY([史跡];[史跡]種別="廃墟")
RELATE ONE SELECTION([史跡];[都市])
// 地域の史跡を検索索
QUERY SELECTION WITH ARRAY([都市]国;<>id_̲country)
ループ内でクエリ
// 地域の国を検索索
QUERY([国];[国]地域="欧州")
DISTINCT VALUES([国]ID;<>id_̲country)
// その後...
// 史跡を検索索
QUERY([史跡];[史跡]種別="廃墟")
RELATE ONE SELECTION([史跡];[都市])
// 地域の史跡を検索索
QUERY SELECTION WITH ARRAY([都市]国;<>id_̲country)
v11以来
ループ内でクエリ
リレーションとクエリ
フランス国内の飲⾷食店すべてが知りたい
リレーションとクエリ
フランス国内の飲⾷食店すべてが知りたい
QUERY([国];[国]国名="フランス")  
RELATE  MANY  SELECTION([都市]国)  
RELATE  MANY  SELECTION([飲⾷食店]都市)
リレーションとクエリ
フランス国内の飲⾷食店すべてが知りたい
QUERY([国];[国]国名="フランス")
RELATE MANY SELECTION([都市]国)
RELATE MANY SELECTION([飲⾷食店]都市)
QUERY([国];[国]国名="フランス")  
RELATE  MANY  SELECTION([都市]国)  
RELATE  MANY  SELECTION([飲⾷食店]都市)
QUERY([飲⾷食店];[国]国名="フランス")
リレーションとクエリ
フランス国内の飲⾷食店すべてが知りたい
QUERY([国];[国]国名="フランス")
RELATE MANY SELECTION([都市]国)
RELATE MANY SELECTION([飲⾷食店]都市)
QUERY([飲⾷食店];[国]国名="フランス")
QUERY([国];[国]国名="フランス")  
RELATE  MANY  SELECTION([都市]国)  
RELATE  MANY  SELECTION([飲⾷食店]都市)
QUERY([飲⾷食店];[国]国名="フランス")
リレーションとクエリ
フランス国内の飲⾷食店すべてが知りたい
QUERY([国];[国]国名="フランス")
RELATE MANY SELECTION([都市]国)
RELATE MANY SELECTION([飲⾷食店]都市)
QUERY([飲⾷食店];[国]国名="フランス")
3リクエスト

+3カレントセレクション
QUERY([国];[国]国名="フランス")  
RELATE  MANY  SELECTION([都市]国)  
RELATE  MANY  SELECTION([飲⾷食店]都市)
QUERY([飲⾷食店];[国]国名="フランス")
リレーションとクエリ
フランス国内の飲⾷食店すべてが知りたい
QUERY([国];[国]国名="フランス")
RELATE MANY SELECTION([都市]国)
RELATE MANY SELECTION([飲⾷食店]都市)
QUERY([飲⾷食店];[国]国名="フランス")
3リクエスト

+3カレントセレクション
単⼀一リクエスト
QUERY([国];[国]国名="フランス")  
RELATE  MANY  SELECTION([都市]国)  
RELATE  MANY  SELECTION([飲⾷食店]都市)
QUERY([飲⾷食店];[国]国名="フランス")
リレーションとクエリ
フランス国内の飲⾷食店すべてが知りたい
QUERY([国];[国]国名="フランス")
RELATE MANY SELECTION([都市]国)
RELATE MANY SELECTION([飲⾷食店]都市)
QUERY([飲⾷食店];[国]国名="フランス")
3リクエスト

+3カレントセレクション
単⼀一リクエスト
インデックス使⽤用
QUERY([国];[国]国名="フランス")  
RELATE  MANY  SELECTION([都市]国)  
RELATE  MANY  SELECTION([飲⾷食店]都市)
QUERY([飲⾷食店];[国]国名="フランス")
リレーションとクエリ
フランス国内の飲⾷食店すべてが知りたい
QUERY([国];[国]国名="フランス")
RELATE MANY SELECTION([都市]国)
RELATE MANY SELECTION([飲⾷食店]都市)
QUERY([飲⾷食店];[国]国名="フランス")
3リクエスト

+3カレントセレクション
単⼀一リクエスト
インデックス使⽤用 カレントセレクションを改変
するのは[飲⾷食店]のみ
QUERY([国];[国]国名="フランス")  
RELATE  MANY  SELECTION([都市]国)  
RELATE  MANY  SELECTION([飲⾷食店]都市)
QUERY([飲⾷食店];[国]国名="フランス")
リレーションとクエリ
フランス国内の飲⾷食店すべてが知りたい
v11以来
QUERY([国];[国]国名="フランス")
RELATE MANY SELECTION([都市]国)
RELATE MANY SELECTION([飲⾷食店]都市)
QUERY([飲⾷食店];[国]国名="フランス")
3リクエスト

+3カレントセレクション
単⼀一リクエスト
インデックス使⽤用 カレントセレクションを改変
するのは[飲⾷食店]のみ
複数のリレーションテーブル
名称に『ハウス』が含まれる飲⾷食店,博物館または史跡が所在する都市が知りたい
複数のリレーションテーブル
名称に『ハウス』が含まれる飲⾷食店,博物館または史跡が所在する都市が知りたい
複数のリレーションテーブル
名称に『ハウス』が含まれる飲⾷食店,博物館または史跡が所在する都市が知りたい
$search:="@ハウス@"  
QUERY([飲⾷食店];[飲⾷食店]名称=$search)  
RELATE  ONE  SELECTION([飲⾷食店];[都市])  
CREATE  SET([都市];"飲⾷食店")  
QUERY([博物館];[Museum]Name=$search)  
RELATE  ONE  SELECTION([博物館];[都市])  
CREATE  SET([都市];"博物館")  
QUERY([史跡];[史跡]名称=$search)  
RELATE  ONE  SELECTION([史跡];[都市])  
CREATE  SET([都市];"史跡")  
CREATE  EMPTY  SET([都市];"都市")  
UNION("飲⾷食店";"博物館";"都市")  
UNION("都市";"史跡";"都市")  
USE  SET("都市")  
CLEAR  SET("都市")  
CLEAR  SET("飲⾷食店")  
CLEAR  SET("博物館")  
CLEAR  SET("史跡")
複数のリレーションテーブル
名称に『ハウス』が含まれる飲⾷食店,博物館または史跡が所在する都市が知りたい
$search
QUERY
RELATE  ONE  SELECTION
CREATE  SET
QUERY
RELATE  ONE  SELECTION
CREATE  SET
QUERY
RELATE  ONE  SELECTION
CREATE  SET
CREATE  EMPTY  SET
UNION
UNION
USE  SET
CLEAR  SET
CLEAR  SET
CLEAR  SET
CLEAR  SET
複数のリレーションテーブル
名称に『ハウス』が含まれる飲⾷食店,博物館または史跡が所在する都市が知りたい
$search
QUERY
RELATE  ONE  SELECTION
CREATE  SET
QUERY
RELATE  ONE  SELECTION
CREATE  SET
QUERY
RELATE  ONE  SELECTION
CREATE  SET
CREATE  EMPTY  SET
UNION
UNION
USE  SET
CLEAR  SET
CLEAR  SET
CLEAR  SET
CLEAR  SET
QUERY([都市];[飲⾷食店]名称=$search;*)
QUERY([都市]; | [博物館]名称=$search;*)
QUERY([都市]; | [史跡]名称=$search)
複数のリレーションテーブル
名称に『ハウス』が含まれる飲⾷食店,博物館または史跡が所在する都市が知りたい
$search
QUERY
RELATE  ONE  SELECTION
CREATE  SET
QUERY
RELATE  ONE  SELECTION
CREATE  SET
QUERY
RELATE  ONE  SELECTION
CREATE  SET
CREATE  EMPTY  SET
UNION
UNION
USE  SET
CLEAR  SET
CLEAR  SET
CLEAR  SET
CLEAR  SET
QUERY([都市];[飲⾷食店]名称=$search;*)
QUERY([都市]; | [博物館]名称=$search;*)
QUERY([都市]; | [史跡]名称=$search)
単⼀一リクエスト  
カレントセレクションを改変するのは[都市]のみ
複数のリレーションテーブル
名称に『ハウス』が含まれる飲⾷食店,博物館または史跡が所在する都市が知りたい
$search
QUERY
RELATE  ONE  SELECTION
CREATE  SET
QUERY
RELATE  ONE  SELECTION
CREATE  SET
QUERY
RELATE  ONE  SELECTION
CREATE  SET
CREATE  EMPTY  SET
UNION
UNION
USE  SET
CLEAR  SET
CLEAR  SET
CLEAR  SET
CLEAR  SET
QUERY([都市];[飲⾷食店]名称=$search;*)
QUERY([都市]; | [博物館]名称=$search;*)
QUERY([都市]; | [史跡]名称=$search)
単⼀一リクエスト  
カレントセレクションを改変するのは[都市]のみ
v11以来
JOINでクエリ
JOINでクエリ
QUERY([史跡];[史跡]種別="廃墟")  
CREATE  SET([史跡];"廃墟")
JOINでクエリ
QUERY([史跡];[史跡]種別="廃墟")
CREATE SET([史跡];"廃墟")
QUERY([史跡];[史跡]種別="廃墟")  
CREATE  SET([史跡];"廃墟")
USE  SET("廃墟")    //  [史跡]  
SELECTION  TO  ARRAY([史跡]都市;$_̲uuid_̲city)  
QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city)
JOINでクエリ
USE SET("廃墟") // [史跡]
SELECTION TO ARRAY([史跡]都市;$_̲uuid_̲city)
QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city)
QUERY([史跡];[史跡]種別="廃墟")
CREATE SET([史跡];"廃墟")
QUERY([史跡];[史跡]種別="廃墟")  
CREATE  SET([史跡];"廃墟")
USE  SET("廃墟")    //  [史跡]    
DISTINCT  VALUES([史跡]都市;$_̲uuid_̲city)  
QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city)
USE  SET("廃墟")    //  [史跡]  
SELECTION  TO  ARRAY([史跡]都市;$_̲uuid_̲city)  
QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city)
JOINでクエリ
USE SET("廃墟") // [史跡]
SELECTION TO ARRAY([史跡]都市;$_̲uuid_̲city)
QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city)
USE SET("廃墟") // [史跡]
DISTINCT VALUES([史跡]都市;$_̲uuid_̲city)
QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city)
QUERY([史跡];[史跡]種別="廃墟")
CREATE SET([史跡];"廃墟")
QUERY([史跡];[史跡]種別="廃墟")  
CREATE  SET([史跡];"廃墟")
USE  SET("廃墟")    //  [史跡]  
RELATE  ONE  SELECTION([史跡];[都市])
USE  SET("廃墟")    //  [史跡]    
DISTINCT  VALUES([史跡]都市;$_̲uuid_̲city)  
QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city)
USE  SET("廃墟")    //  [史跡]  
SELECTION  TO  ARRAY([史跡]都市;$_̲uuid_̲city)  
QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city)
JOINでクエリ
USE SET("廃墟") // [史跡]
SELECTION TO ARRAY([史跡]都市;$_̲uuid_̲city)
QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city)
USE SET("廃墟") // [史跡]
DISTINCT VALUES([史跡]都市;$_̲uuid_̲city)
QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city)
USE SET("廃墟") // [史跡]
RELATE ONE SELECTION([史跡];[都市])
QUERY([史跡];[史跡]種別="廃墟")
CREATE SET([史跡];"廃墟")
QUERY([史跡];[史跡]種別="廃墟")  
CREATE  SET([史跡];"廃墟")
USE  SET("廃墟")    //  [史跡]  
RELATE  ONE  SELECTION([史跡];[都市])
USE  SET("廃墟")    //  [史跡]    
DISTINCT  VALUES([史跡]都市;$_̲uuid_̲city)  
QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city)
USE  SET("廃墟")    //  [史跡]  
SELECTION  TO  ARRAY([史跡]都市;$_̲uuid_̲city)  
QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city)
JOINでクエリ
USE SET("廃墟") // [史跡]
SELECTION TO ARRAY([史跡]都市;$_̲uuid_̲city)
QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city)
USE SET("廃墟") // [史跡]
DISTINCT VALUES([史跡]都市;$_̲uuid_̲city)
QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city)
USE SET("廃墟") // [史跡]
RELATE ONE SELECTION([史跡];[都市])
185,430バイト⼊入⼒力力  
236,278バイト出⼒力力  
27ミリ秒/サーバー処理理
QUERY([史跡];[史跡]種別="廃墟")
CREATE SET([史跡];"廃墟")
QUERY([史跡];[史跡]種別="廃墟")  
CREATE  SET([史跡];"廃墟")
USE  SET("廃墟")    //  [史跡]  
RELATE  ONE  SELECTION([史跡];[都市])
USE  SET("廃墟")    //  [史跡]    
DISTINCT  VALUES([史跡]都市;$_̲uuid_̲city)  
QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city)
USE  SET("廃墟")    //  [史跡]  
SELECTION  TO  ARRAY([史跡]都市;$_̲uuid_̲city)  
QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city)
JOINでクエリ
USE SET("廃墟") // [史跡]
SELECTION TO ARRAY([史跡]都市;$_̲uuid_̲city)
QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city)
USE SET("廃墟") // [史跡]
DISTINCT VALUES([史跡]都市;$_̲uuid_̲city)
QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city)
USE SET("廃墟") // [史跡]
RELATE ONE SELECTION([史跡];[都市])
185,430バイト⼊入⼒力力  
236,278バイト出⼒力力  
27ミリ秒/サーバー処理理
35,728バイト⼊入⼒力力  
164,874バイト出⼒力力  
21ミリ秒/サーバー処理理
QUERY([史跡];[史跡]種別="廃墟")
CREATE SET([史跡];"廃墟")
QUERY([史跡];[史跡]種別="廃墟")  
CREATE  SET([史跡];"廃墟")
USE  SET("廃墟")    //  [史跡]  
RELATE  ONE  SELECTION([史跡];[都市])
USE  SET("廃墟")    //  [史跡]    
DISTINCT  VALUES([史跡]都市;$_̲uuid_̲city)  
QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city)
USE  SET("廃墟")    //  [史跡]  
SELECTION  TO  ARRAY([史跡]都市;$_̲uuid_̲city)  
QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city)
JOINでクエリ
USE SET("廃墟") // [史跡]
SELECTION TO ARRAY([史跡]都市;$_̲uuid_̲city)
QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city)
USE SET("廃墟") // [史跡]
DISTINCT VALUES([史跡]都市;$_̲uuid_̲city)
QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city)
USE SET("廃墟") // [史跡]
RELATE ONE SELECTION([史跡];[都市])
185,430バイト⼊入⼒力力  
236,278バイト出⼒力力  
27ミリ秒/サーバー処理理
35,728バイト⼊入⼒力力  
164,874バイト出⼒力力  
21ミリ秒/サーバー処理理
166バイト⼊入⼒力力  
4,800バイト出⼒力力  
2ミリ秒/サーバー処理理
QUERY([史跡];[史跡]種別="廃墟")
CREATE SET([史跡];"廃墟")
JOINでクエリ
San  Franciscoに到着するAmerican  Airline社の航空機すべてが知りたい
San  Franciscoに到着するAmerican  Airline社の航空機すべてが知りたい
JOINでクエリ
QUERY([航空会社];[航空会社]名称="American  Airlines@")  
RELATE  MANY  SELECTION([フライト]ID_̲Airline)  
QUERY  SELECTION([フライト];[フライト]⽬目的地="San  Francisco@")  
RELATE  ONE  SELECTION([フライト];[航空機])
QUERY([航空会社];[航空会社]名称="American Airlines@")
San  Franciscoに到着するAmerican  Airline社の航空機すべてが知りたい
JOINでクエリ
QUERY([航空会社];[航空会社]名称="American  Airlines@")  
RELATE  MANY  SELECTION([フライト]ID_̲Airline)  
QUERY  SELECTION([フライト];[フライト]⽬目的地="San  Francisco@")  
RELATE  ONE  SELECTION([フライト];[航空機])
QUERY([航空会社];[航空会社]名称="American Airlines@")
RELATE MANY SELECTION([フライト]航空会社)
San  Franciscoに到着するAmerican  Airline社の航空機すべてが知りたい
JOINでクエリ
QUERY([航空会社];[航空会社]名称="American  Airlines@")  
RELATE  MANY  SELECTION([フライト]ID_̲Airline)  
QUERY  SELECTION([フライト];[フライト]⽬目的地="San  Francisco@")  
RELATE  ONE  SELECTION([フライト];[航空機])
QUERY([航空会社];[航空会社]名称="American Airlines@")
RELATE MANY SELECTION([フライト]航空会社)
QUERY SELECTION([フライト];[フライト]⽬目的地="San Francisco@")
San  Franciscoに到着するAmerican  Airline社の航空機すべてが知りたい
JOINでクエリ
QUERY([航空会社];[航空会社]名称="American  Airlines@")  
RELATE  MANY  SELECTION([フライト]ID_̲Airline)  
QUERY  SELECTION([フライト];[フライト]⽬目的地="San  Francisco@")  
RELATE  ONE  SELECTION([フライト];[航空機])
QUERY([航空会社];[航空会社]名称="American Airlines@")
RELATE MANY SELECTION([フライト]航空会社)
QUERY SELECTION([フライト];[フライト]⽬目的地="San Francisco@")
RELATE ONE SELECTION([フライト];[航空機])
San  Franciscoに到着するAmerican  Airline社の航空機すべてが知りたい
JOINでクエリ
QUERY([航空会社];[航空会社]名称="American  Airlines@")  
RELATE  MANY  SELECTION([フライト]ID_̲Airline)  
QUERY  SELECTION([フライト];[フライト]⽬目的地="San  Francisco@")  
RELATE  ONE  SELECTION([フライト];[航空機])
QUERY  BY  FORMULA([航空機];  
   ([航空会社]名称="American  Airlines@")  
     &  ([フライト]⽬目的地="San  Francisco@")  
     &  ([航空会社]ID=[フライト]航空会社)  
     &  ([フライト]航空機=[航空機]ID))
QUERY([航空会社];[航空会社]名称="American Airlines@")
RELATE MANY SELECTION([フライト]航空会社)
QUERY SELECTION([フライト];[フライト]⽬目的地="San Francisco@")
RELATE ONE SELECTION([フライト];[航空機])
QUERY BY FORMULA([航空機];
([航空会社]名称="American Airlines@")
& ([フライト]⽬目的地="San Francisco@")
& ([航空会社]ID=[フライト]航空会社)
& ([フライト]航空機=[航空機]ID))
San  Franciscoに到着するAmerican  Airline社の航空機すべてが知りたい
JOINでクエリ
QUERY  BY  FORMULA
v11の最重要な変更更点のひとつ。変換データベースでは有効化しなければならない。
QUERY  BY  FORMULA
v11の最重要な変更更点のひとつ。変換データベースでは有効化しなければならない。
QUERY  BY  FORMULA
v11の最重要な変更更点のひとつ。変換データベースでは有効化しなければならない。
QUERY  BY  FORMULA
v11の最重要な変更更点のひとつ。変換データベースでは有効化しなければならない。
SET  DATABASE  PARAMETER(Query  by  formula  joins;2)
QUERY  BY  FORMULA
v11の最重要な変更更点のひとつ。変換データベースでは有効化しなければならない。
SET  DATABASE  PARAMETER(Query  by  formula  joins;2)
新規データベースはデフォルトで有効  (>11.2)
QUERY  BY  FORMULA
v11の最重要な変更更点のひとつ。変換データベースでは有効化しなければならない。
SET  DATABASE  PARAMETER(Query  by  formula  joins;2)
新規データベースはデフォルトで有効  (>11.2)
v11以来
QUERY  BY  FORMULA
QUERY  BY  FORMULA
QUERY([系列列];[系列列]名称="Marriott")
QUERY  BY  FORMULA
QUERY([系列列];[系列列]名称="Marriott")
QUERY([Hotel];[Hotel]UUID_̲Hotel_̲Chain=[Hotel_̲Chain]UUID)  
DISTINCT  VALUES([Hotel]UUID;$_̲uuid)  
QUERY  WITH  ARRAY([Hotel_̲Room]UUID_̲Hotel;$_̲uuid)
QUERY([系列列];[系列列]名称="Marriott")
QUERY  BY  FORMULA
QUERY([系列列];[系列列]名称="Marriott")
QUERY([ホテル];[ホテル]系列列=[系列列]ID)
DISTINCT VALUES([ホテル]ID;$_̲uuid)
QUERY WITH ARRAY([客室]ホテル;$_̲uuid)
QUERY([Hotel];[Hotel]UUID_̲Hotel_̲Chain=[Hotel_̲Chain]UUID)  
DISTINCT  VALUES([Hotel]UUID;$_̲uuid)  
QUERY  WITH  ARRAY([Hotel_̲Room]UUID_̲Hotel;$_̲uuid)
QUERY([系列列];[系列列]名称="Marriott")
QUERY  BY  FORMULA
QUERY([系列列];[系列列]名称="Marriott")
QUERY([ホテル];[ホテル]系列列=[系列列]ID)
DISTINCT VALUES([ホテル]ID;$_̲uuid)
QUERY WITH ARRAY([客室]ホテル;$_̲uuid)
検索索条件
QUERY([Hotel];[Hotel]UUID_̲Hotel_̲Chain=[Hotel_̲Chain]UUID)  
DISTINCT  VALUES([Hotel]UUID;$_̲uuid)  
QUERY  WITH  ARRAY([Hotel_̲Room]UUID_̲Hotel;$_̲uuid)
QUERY  BY  FORMULA([客室];  
   ([ホテル]系列列=[系列列]ID)  
     &  ([客室]ホテル=[ホテル]ID))
QUERY([系列列];[系列列]名称="Marriott")
QUERY  BY  FORMULA
QUERY([系列列];[系列列]名称="Marriott")
QUERY([ホテル];[ホテル]系列列=[系列列]ID)
DISTINCT VALUES([ホテル]ID;$_̲uuid)
QUERY WITH ARRAY([客室]ホテル;$_̲uuid)
QUERY BY FORMULA([客室];
([ホテル]系列列=[系列列]ID)
& ([客室]ホテル=[ホテル]ID))
検索索条件
QUERY([Hotel];[Hotel]UUID_̲Hotel_̲Chain=[Hotel_̲Chain]UUID)  
DISTINCT  VALUES([Hotel]UUID;$_̲uuid)  
QUERY  WITH  ARRAY([Hotel_̲Room]UUID_̲Hotel;$_̲uuid)
QUERY  BY  FORMULA([客室];  
   ([ホテル]系列列=[系列列]ID)  
     &  ([客室]ホテル=[ホテル]ID))
QUERY([系列列];[系列列]名称="Marriott")
QUERY  BY  FORMULA
QUERY([系列列];[系列列]名称="Marriott")
QUERY([ホテル];[ホテル]系列列=[系列列]ID)
DISTINCT VALUES([ホテル]ID;$_̲uuid)
QUERY WITH ARRAY([客室]ホテル;$_̲uuid)
QUERY BY FORMULA([客室];
([ホテル]系列列=[系列列]ID)
& ([客室]ホテル=[ホテル]ID))
JOIN定義
検索索条件
QUERY([Hotel];[Hotel]UUID_̲Hotel_̲Chain=[Hotel_̲Chain]UUID)  
DISTINCT  VALUES([Hotel]UUID;$_̲uuid)  
QUERY  WITH  ARRAY([Hotel_̲Room]UUID_̲Hotel;$_̲uuid)
QUERY  BY  FORMULA([客室];  
   ([ホテル]系列列=[系列列]ID)  
     &  ([客室]ホテル=[ホテル]ID))
QUERY([系列列];[系列列]名称="Marriott")
QUERY  BY  FORMULA
QUERY([系列列];[系列列]名称="Marriott")
QUERY([ホテル];[ホテル]系列列=[系列列]ID)
DISTINCT VALUES([ホテル]ID;$_̲uuid)
QUERY WITH ARRAY([客室]ホテル;$_̲uuid)
QUERY BY FORMULA([客室];
([ホテル]系列列=[系列列]ID)
& ([客室]ホテル=[ホテル]ID))
JOIN定義
DESCRIBE  QUERY  EXECUTIONが
何も返さない
検索索条件
QUERY([Hotel];[Hotel]UUID_̲Hotel_̲Chain=[Hotel_̲Chain]UUID)  
DISTINCT  VALUES([Hotel]UUID;$_̲uuid)  
QUERY  WITH  ARRAY([Hotel_̲Room]UUID_̲Hotel;$_̲uuid)
QUERY  BY  FORMULA([客室];  
   ([ホテル]系列列=[系列列]ID)  
     &  ([客室]ホテル=[ホテル]ID))
$uuid_̲chain:=[系列列]ID  
QUERY  BY  FORMULA([客室];  
   ([ホテル]系列列=$uuid_̲chain)  
     &  ([客室]ホテル=[ホテル]ID))
QUERY([系列列];[系列列]名称="Marriott")
QUERY  BY  FORMULA
QUERY([系列列];[系列列]名称="Marriott")
QUERY([ホテル];[ホテル]系列列=[系列列]ID)
DISTINCT VALUES([ホテル]ID;$_̲uuid)
QUERY WITH ARRAY([客室]ホテル;$_̲uuid)
QUERY BY FORMULA([客室];
([ホテル]系列列=[系列列]ID)
& ([客室]ホテル=[ホテル]ID))
JOIN定義
$uuid_̲chain:=[系列列]ID
QUERY BY FORMULA([客室];
([ホテル]系列列=$uuid_̲chain)
& ([客室]ホテル=[ホテル]ID))
DESCRIBE  QUERY  EXECUTIONが
何も返さない
検索索条件
QUERY([Hotel];[Hotel]UUID_̲Hotel_̲Chain=[Hotel_̲Chain]UUID)  
DISTINCT  VALUES([Hotel]UUID;$_̲uuid)  
QUERY  WITH  ARRAY([Hotel_̲Room]UUID_̲Hotel;$_̲uuid)
QUERY  BY  FORMULA([客室];  
   ([ホテル]系列列=[系列列]ID)  
     &  ([客室]ホテル=[ホテル]ID))
$uuid_̲chain:=[系列列]ID  
QUERY  BY  FORMULA([客室];  
   ([ホテル]系列列=$uuid_̲chain)  
     &  ([客室]ホテル=[ホテル]ID))
QUERY([系列列];[系列列]名称="Marriott")
QUERY  BY  FORMULA
QUERY([系列列];[系列列]名称="Marriott")
QUERY([ホテル];[ホテル]系列列=[系列列]ID)
DISTINCT VALUES([ホテル]ID;$_̲uuid)
QUERY WITH ARRAY([客室]ホテル;$_̲uuid)
QUERY BY FORMULA([客室];
([ホテル]系列列=[系列列]ID)
& ([客室]ホテル=[ホテル]ID))
JOIN定義
$uuid_̲chain:=[系列列]ID
QUERY BY FORMULA([客室];
([ホテル]系列列=$uuid_̲chain)
& ([客室]ホテル=[ホテル]ID))
検索索条件
DESCRIBE  QUERY  EXECUTIONが
何も返さない
DESCRIBE  QUERY  EXECUTIONで
有効なパスが返される
検索索条件
複数の経路路
San  Franciscoに到着するフライトすべてが知りたい
複数の経路路
San  Franciscoに到着するフライトすべてが知りたい
QUERY([空港];[空港]IATAコード="SFO")  
RELATE  MANY  SELECTION([便便名]到着空港)  
RELATE  MANY  SELECTION([フライト]便便名)
複数の経路路
San  Franciscoに到着するフライトすべてが知りたい
QUERY([空港];[空港]IATAコード="SFO")
QUERY([空港];[空港]IATAコード="SFO")  
RELATE  MANY  SELECTION([便便名]到着空港)  
RELATE  MANY  SELECTION([フライト]便便名)
複数の経路路
San  Franciscoに到着するフライトすべてが知りたい
QUERY([空港];[空港]IATAコード="SFO")
RELATE MANY SELECTION([便便名]到着空港)
QUERY([空港];[空港]IATAコード="SFO")  
RELATE  MANY  SELECTION([便便名]到着空港)  
RELATE  MANY  SELECTION([フライト]便便名)
複数の経路路
San  Franciscoに到着するフライトすべてが知りたい
QUERY([空港];[空港]IATAコード="SFO")
RELATE MANY SELECTION([便便名]到着空港)
RELATE MANY SELECTION([フライト]便便名)
QUERY([フライト];[空港]IATAコード="SFO")
QUERY([空港];[空港]IATAコード="SFO")  
RELATE  MANY  SELECTION([便便名]到着空港)  
RELATE  MANY  SELECTION([フライト]便便名)
複数の経路路
San  Franciscoに到着するフライトすべてが知りたい
QUERY([空港];[空港]IATAコード="SFO")
RELATE MANY SELECTION([便便名]到着空港)
RELATE MANY SELECTION([フライト]便便名)
QUERY([フライト];[空港]IATAコード="SFO")
QUERY([フライト];[空港]IATAコード="SFO")
QUERY([空港];[空港]IATAコード="SFO")  
RELATE  MANY  SELECTION([便便名]到着空港)  
RELATE  MANY  SELECTION([フライト]便便名)
複数の経路路
San  Franciscoに到着するフライトすべてが知りたい
QUERY([空港];[空港]IATAコード="SFO")
RELATE MANY SELECTION([便便名]到着空港)
RELATE MANY SELECTION([フライト]便便名)
QUERY([フライト];[空港]IATAコード="SFO")
QUERY([フライト];
QUERY([フライト];[空港]IATAコード="SFO")
QUERY([空港];[空港]IATAコード="SFO")  
RELATE  MANY  SELECTION([便便名]到着空港)  
RELATE  MANY  SELECTION([フライト]便便名)
複数の経路路
San  Franciscoに到着するフライトすべてが知りたい
QUERY([空港];[空港]IATAコード="SFO")
RELATE MANY SELECTION([便便名]到着空港)
RELATE MANY SELECTION([フライト]便便名)
QUERY([フライト];
QUERY([フライト];[空港]IATAコード="SFO")
QUERY([フライト];[空港]IATAコード="SFO")
QUERY([空港];[空港]IATAコード="SFO")  
RELATE  MANY  SELECTION([便便名]到着空港)  
RELATE  MANY  SELECTION([フライト]便便名)
複数の経路路
San  Franciscoに到着するフライトすべてが知りたい
QUERY([空港];[空港]IATAコード="SFO")
RELATE MANY SELECTION([便便名]到着空港)
RELATE MANY SELECTION([フライト]便便名)
QUERY  BY  FORMULA([フライト];
QUERY([フライト];[空港]IATAコード="SFO")
QUERY  BY  FORMULA([フライト];
QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")
QUERY([フライト];[空港]IATAコード="SFO")
QUERY([空港];[空港]IATAコード="SFO")  
RELATE  MANY  SELECTION([便便名]到着空港)  
RELATE  MANY  SELECTION([フライト]便便名)
複数の経路路
San  Franciscoに到着するフライトすべてが知りたい
QUERY([空港];[空港]IATAコード="SFO")
RELATE MANY SELECTION([便便名]到着空港)
RELATE MANY SELECTION([フライト]便便名)
QUERY([フライト];[空港]IATAコード="SFO")
QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")
QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")
QUERY([フライト];[空港]IATAコード="SFO")
QUERY([空港];[空港]IATAコード="SFO")  
RELATE  MANY  SELECTION([便便名]到着空港)  
RELATE  MANY  SELECTION([フライト]便便名)
複数の経路路
San  Franciscoに到着するフライトすべてが知りたい
QUERY([空港];[空港]IATAコード="SFO")
RELATE MANY SELECTION([便便名]到着空港)
RELATE MANY SELECTION([フライト]便便名)
QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")    
   &  ([フライト]便便名=[便便名]ID)
QUERY([フライト];[空港]IATAコード="SFO")
QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")    
   &  ([フライト]便便名=[便便名]ID)
QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")
QUERY([フライト];[空港]IATAコード="SFO")
QUERY([空港];[空港]IATAコード="SFO")  
RELATE  MANY  SELECTION([便便名]到着空港)  
RELATE  MANY  SELECTION([フライト]便便名)
複数の経路路
San  Franciscoに到着するフライトすべてが知りたい
QUERY([空港];[空港]IATAコード="SFO")
RELATE MANY SELECTION([便便名]到着空港)
RELATE MANY SELECTION([フライト]便便名)
QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")    
   &  ([フライト]便便名=[便便名]ID)
QUERY([フライト];[空港]IATAコード="SFO")
QUERY BY FORMULA([フライト];([空港]IATAコード="SFO")
& ([フライト]便便名=[便便名]ID) & ([便便名]到着空港=[空港]ID))
QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")
QUERY([フライト];[空港]IATAコード="SFO")
QUERY([空港];[空港]IATAコード="SFO")  
RELATE  MANY  SELECTION([便便名]到着空港)  
RELATE  MANY  SELECTION([フライト]便便名)
複数の経路路
San  Franciscoに到着するフライトすべてが知りたい
QUERY([空港];[空港]IATAコード="SFO")
RELATE MANY SELECTION([便便名]到着空港)
RELATE MANY SELECTION([フライト]便便名)
QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")    
   &  ([フライト]便便名=[便便名]ID)
QUERY([フライト];[空港]IATAコード="SFO")
QUERY BY FORMULA([フライト];([空港]IATAコード="SFO")
& ([フライト]便便名=[便便名]ID) & ([便便名]到着空港=[空港]ID))
3リクエスト
QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")
QUERY([フライト];[空港]IATAコード="SFO")
QUERY([空港];[空港]IATAコード="SFO")  
RELATE  MANY  SELECTION([便便名]到着空港)  
RELATE  MANY  SELECTION([フライト]便便名)
複数の経路路
San  Franciscoに到着するフライトすべてが知りたい
QUERY([空港];[空港]IATAコード="SFO")
RELATE MANY SELECTION([便便名]到着空港)
RELATE MANY SELECTION([フライト]便便名)
QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")    
   &  ([フライト]便便名=[便便名]ID)
QUERY([フライト];[空港]IATAコード="SFO")
QUERY BY FORMULA([フライト];([空港]IATAコード="SFO")
& ([フライト]便便名=[便便名]ID) & ([便便名]到着空港=[空港]ID))
3リクエスト
単⼀一リクエスト
QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")
QUERY([フライト];[空港]IATAコード="SFO")
QUERY([空港];[空港]IATAコード="SFO")  
RELATE  MANY  SELECTION([便便名]到着空港)  
RELATE  MANY  SELECTION([フライト]便便名)
複数の経路路
San  Franciscoに到着するフライトすべてが知りたい
QUERY([空港];[空港]IATAコード="SFO")
RELATE MANY SELECTION([便便名]到着空港)
RELATE MANY SELECTION([フライト]便便名)
QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")    
   &  ([フライト]便便名=[便便名]ID)
QUERY([フライト];[空港]IATAコード="SFO")
QUERY BY FORMULA([フライト];([空港]IATAコード="SFO")
& ([フライト]便便名=[便便名]ID) & ([便便名]到着空港=[空港]ID))
3リクエスト
単⼀一リクエスト
v11以来
経路路を検証するには?
QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")  
     &  ([フライト]便便名=[便便名]ID)  &  ([便便名]到着空港=[空港]ID))
経路路を検証するには?
QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")  
     &  ([フライト]便便名=[便便名]ID)  &  ([便便名]到着空港=[空港]ID))
DESCRIBE QUERY EXECUTION(True)
経路路を検証するには?
QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")  
     &  ([フライト]便便名=[便便名]ID)  &  ([便便名]到着空港=[空港]ID))
DESCRIBE QUERY EXECUTION(True)
DESCRIBE QUERY EXECUTION(False)
経路路を検証するには?
QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")  
     &  ([フライト]便便名=[便便名]ID)  &  ([便便名]到着空港=[空港]ID))
DESCRIBE QUERY EXECUTION(True)
DESCRIBE QUERY EXECUTION(False)
$path:=Get last query path(Description  in  text  format)
SET TEXT TO PASTEBOARD($path)
経路路を検証するには?
QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")  
     &  ([フライト]便便名=[便便名]ID)  &  ([便便名]到着空港=[空港]ID))
DESCRIBE QUERY EXECUTION(True)
DESCRIBE QUERY EXECUTION(False)
$path:=Get last query path(Description  in  text  format)
SET TEXT TO PASTEBOARD($path)
        Join  on  Table  :  Line    :    フライト.便便名  =  便便名.ID  
                                        Join  on  Table  :  空港    :    便便名.到着空港  =  空港.ID  
                                                                        [index  :  空港.IATAコード]  =  SFO      (1  record  found  in  0  ms)  
                        -‐‑‒-‐‑‒>  142  records  found  in  0  ms  
        -‐‑‒-‐‑‒>  442  records  found  in  4  ms
        Join  on  Table  :  Line    :    フライト.便便名  =  便便名.ID  
                                        Join  on  Table  :  空港    :    便便名.到着空港  =  空港.ID  
                                                                        [index  :  空港.IATAコード]  =  SFO      (1  record  found  in  0  ms)  
                        -‐‑‒-‐‑‒>  142  records  found  in  0  ms  
        -‐‑‒-‐‑‒>  442  records  found  in  4  ms
経路路を検証するには?
QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")  
     &  ([フライト]便便名=[便便名]ID)  &  ([便便名]到着空港=[空港]ID))
DESCRIBE QUERY EXECUTION(True)
DESCRIBE QUERY EXECUTION(False)
$path:=Get last query path(Description  in  text  format)
SET TEXT TO PASTEBOARD($path)
        Join  on  Table  :  Line    :    フライト.便便名  =  便便名.ID  
                                        Join  on  Table  :  空港    :    便便名.到着空港  =  空港.ID  
                                                                        [index  :  空港.IATAコード]  =  SFO      (1  record  found  in  0  ms)  
                        -‐‑‒-‐‑‒>  142  records  found  in  0  ms  
        -‐‑‒-‐‑‒>  442  records  found  in  4  ms
v11以来
        Join  on  Table  :  Line    :    フライト.便便名  =  便便名.ID  
                                        Join  on  Table  :  空港    :    便便名.到着空港  =  空港.ID  
                                                                        [index  :  空港.IATAコード]  =  SFO      (1  record  found  in  0  ms)  
                        -‐‑‒-‐‑‒>  142  records  found  in  0  ms  
        -‐‑‒-‐‑‒>  442  records  found  in  4  ms
リレーションのルール
ルール#1:  すべてのリレーションはマニュアルモードに設定する  
ルール#2:  設定に確信が持てないときにはルール#1を適⽤用する
セレクションから配列列に
セレクションから配列列に
セレクションから配列列に
配列列に表⽰示したいフィールド:
セレクションから配列列に
配列列に表⽰示したいフィールド:
• 出発地
• ⽬目的地
• 航空会社名
• 航空機名
セレクションから配列列に
セレクションから配列列に
SELECTION  TO  ARRAY([フライト]出発地;$出発地;  
   [フライト]To;$⽬目的地;  
   [フライト]航空機;$航空機ID;  
   [フライト]航空会社;$航空会社ID)  
$nb:=Size  of  array($⽬目的地)  
ARRAY  TEXT($航空機;$nb)  
ARRAY  TEXT($航空会社;$nb)  
For  ($i;1;$nb;1)  
   QUERY([航空機];[航空機]ID=$航空機ID{$i})  
   $航空機{$i}:=[航空会社]名称  
   QUERY([航空会社];[航空会社]ID=$航空会社ID{$i})  
   $航空会社{$i}:=[航空会社]名称  
End  for  
セレクションから配列列に
SELECTION  TO  ARRAY([フライト]出発地;$出発地;  
   [フライト]To;$⽬目的地;  
   [フライト]航空機;$航空機ID;  
   [フライト]航空会社;$航空会社ID)  
$nb:=Size  of  array($⽬目的地)  
ARRAY  TEXT($航空機;$nb)  
ARRAY  TEXT($航空会社;$nb)  
For  ($i;1;$nb;1)  
   QUERY([航空機];[航空機]ID=$航空機ID{$i})  
   $航空機{$i}:=[航空会社]名称  
   QUERY([航空会社];[航空会社]ID=$航空会社ID{$i})  
   $航空会社{$i}:=[航空会社]名称  
End  for  
ループ内で無数のリクエストが発⽣生
セレクションから配列列に
SELECTION  TO  ARRAY([フライト]出発地;$出発地;

   [フライト]⽬目的地;$⽬目的地;  
   [フライト]航空機;$航空機ID;  
   [フライト]航空会社;$航空会社ID;  
   [航空機]名称;$航空機;  
   [航空会社]名称;$航空会社)
セレクションから配列列に
SELECTION  TO  ARRAY([フライト]出発地;$出発地;

   [フライト]⽬目的地;$⽬目的地;  
   [フライト]航空機;$航空機ID;  
   [フライト]航空会社;$航空会社ID;  
   [航空機]名称;$航空機;  
   [航空会社]名称;$航空会社)
⾃自動リレーションが必要
セレクションから配列列に
SET  AUTOMATIC  RELATIONS(True)  
SELECTION  TO  ARRAY([フライト]出発地;$出発地;

   [フライト]⽬目的地;$⽬目的地;  
   [フライト]航空機;$航空機ID;  
   [フライト]航空会社;$航空会社ID;  
   [航空機]名称;$航空機;  
   [航空会社]名称;$航空会社)  
SET  AUTOMATIC  RELATIONS(False)  
セレクションから配列列に
SET  AUTOMATIC  RELATIONS(True)  
SELECTION  TO  ARRAY([フライト]出発地;$出発地;

   [フライト]⽬目的地;$⽬目的地;  
   [フライト]航空機;$航空機ID;  
   [フライト]航空会社;$航空会社ID;  
   [航空機]名称;$航空機;  
   [航空会社]名称;$航空会社)  
SET  AUTOMATIC  RELATIONS(False)  
すべてのリレーションが
⾃自動である必要はない
セレクションから配列列に
SET FIELD RELATION([フライト]航空機;Automatic;Do  not  modify)
SET FIELD RELATION([フライト]航空会社;Automatic;Do  not  modify)
SELECTION TO ARRAY([フライト]出発地;$出発地;
[フライト]⽬目的地;$⽬目的地;
[フライト]航空機;$航空機ID;
[フライト]航空会社;$航空会社ID;
[航空機]名称;$航空機;
[航空会社]名称;$航空会社)
SET FIELD RELATION([フライト]航空機;Structure  configuration;
Do  not  modify)
SET FIELD RELATION([フライト]航空会社;Structure  configuration;
Do  not  modify)
セレクションから配列列に
SET FIELD RELATION([フライト]航空機;Automatic;Do  not  modify)
SET FIELD RELATION([フライト]航空会社;Automatic;Do  not  modify)
SELECTION TO ARRAY([フライト]出発地;$出発地;
[フライト]⽬目的地;$⽬目的地;
[フライト]航空機;$航空機ID;
[フライト]航空会社;$航空会社ID;
[航空機]名称;$航空機;
[航空会社]名称;$航空会社)
SET FIELD RELATION([フライト]航空機;Structure  configuration;
Do  not  modify)
SET FIELD RELATION([フライト]航空会社;Structure  configuration;
Do  not  modify)
2004以来
SET  FIELD  RELATION
SET  FIELD  RELATION
• 必要なコマンド  
• SELECTION  TO  ARRAY  
• ORDER  BY




SET  FIELD  RELATION
• 必要なコマンド  
• SELECTION  TO  ARRAY  
• ORDER  BY




• 不不要なコマンド  
• QUERY
SET  FIELD  RELATION
• 必要なコマンド  
• SELECTION  TO  ARRAY  
• ORDER  BY




• 不不要なコマンド  
• QUERY
冗⻑⾧長なデータ処理理
冗⻑⾧長なデータ処理理
QUERY([都市];[都市]標⾼高>1000)
冗⻑⾧長なデータ処理理
CREATE EMPTY SET([国];"国")
While (Not(End selection([都市])))
LOAD RECORD([都市])
RELATE ONE([都市]国ID)
ADD TO SET([国];"国")
NEXT RECORD([都市])
End while
USE SET("国")
CLEAR SET("国")
QUERY([都市];[都市]標⾼高>1000)
冗⻑⾧長なデータ処理理
CREATE EMPTY SET([国];"国")
While (Not(End selection([都市])))
LOAD RECORD([都市])
RELATE ONE([都市]国ID)
ADD TO SET([国];"国")
NEXT RECORD([都市])
End while
USE SET("国")
CLEAR SET("国")
クエリを実⾏行行

先頭レコードをロード
QUERY([都市];[都市]標⾼高>1000)
冗⻑⾧長なデータ処理理
CREATE EMPTY SET([国];"国")
While (Not(End selection([都市])))
LOAD RECORD([都市])
RELATE ONE([都市]国ID)
ADD TO SET([国];"国")
NEXT RECORD([都市])
End while
USE SET("国")
CLEAR SET("国")
クエリを実⾏行行

先頭レコードをロード
カレントレコードを再ロード
QUERY([都市];[都市]標⾼高>1000)
冗⻑⾧長なデータ処理理
CREATE EMPTY SET([国];"国")
While (Not(End selection([都市])))
LOAD RECORD([都市])
RELATE ONE([都市]国ID)
ADD TO SET([国];"国")
NEXT RECORD([都市])
End while
USE SET("国")
CLEAR SET("国")
カレントレコードをアンロード

次レコードをロード
QUERY([都市];[都市]標⾼高>1000)
冗⻑⾧長なデータ処理理
CREATE EMPTY SET([国];"国")
While (Not(End selection([都市])))
LOAD RECORD([都市])
RELATE ONE([都市]国ID)
ADD TO SET([国];"国")
NEXT RECORD([都市])
End while
USE SET("国")
CLEAR SET("国")
カレントレコードをアンロード

次レコードをロード
カレントレコードを再ロードQUERY([都市];[都市]標⾼高>1000)
冗⻑⾧長なデータ処理理
CREATE EMPTY SET([国];"国")
While (Not(End selection([都市])))
LOAD RECORD([都市])
RELATE ONE([都市]国ID)
ADD TO SET([国];"国")
NEXT RECORD([都市])
End while
USE SET("国")
CLEAR SET("国")
これ全部と同等のことを⼀一発で  

RELATE  ONE  SELECTION
QUERY([都市];[都市]標⾼高>1000)
冗⻑⾧長なデータ処理理
CREATE EMPTY SET([国];"国")
While (Not(End selection([都市])))
LOAD RECORD([都市])
RELATE ONE([都市]国ID)
ADD TO SET([国];"国")
NEXT RECORD([都市])
End while
USE SET("国")
CLEAR SET("国")
これ全部と同等のことを⼀一発で  

RELATE  ONE  SELECTION
QUERY([都市];[都市]標⾼高>1000)
無駄な処理理
QUERY([都市];[都市]標⾼高>1000)  
FIRST  RECORD([都市])  
ORDER  BY([都市];[都市]標⾼高)  
FIRST  RECORD([City])
無駄な処理理
QUERY([都市];[都市]標⾼高>1000)
FIRST RECORD([都市])
ORDER BY([都市];[都市]標⾼高)
FIRST RECORD([都市])
QUERY([都市];[都市]標⾼高>1000)  
FIRST  RECORD([都市])  
ORDER  BY([都市];[都市]標⾼高)  
FIRST  RECORD([City])
無駄な処理理
QUERY([都市];[都市]標⾼高>1000)
FIRST RECORD([都市])
ORDER BY([都市];[都市]標⾼高)
FIRST RECORD([都市])
クエリを実⾏行行

先頭レコードをロード
QUERY([都市];[都市]標⾼高>1000)  
FIRST  RECORD([都市])  
ORDER  BY([都市];[都市]標⾼高)  
FIRST  RECORD([City])
無駄な処理理
QUERY([都市];[都市]標⾼高>1000)
FIRST RECORD([都市])
ORDER BY([都市];[都市]標⾼高)
FIRST RECORD([都市])
クエリを実⾏行行

先頭レコードをロード
先頭レコードを再ロード
QUERY([都市];[都市]標⾼高>1000)  
FIRST  RECORD([都市])  
ORDER  BY([都市];[都市]標⾼高)  
FIRST  RECORD([City])
無駄な処理理
QUERY([都市];[都市]標⾼高>1000)
FIRST RECORD([都市])
ORDER BY([都市];[都市]標⾼高)
FIRST RECORD([都市])
クエリを実⾏行行

先頭レコードをロード
先頭レコードを再ロード
並び替えを実⾏行行

先頭レコードをロード
QUERY([都市];[都市]標⾼高>1000)  
FIRST  RECORD([都市])  
ORDER  BY([都市];[都市]標⾼高)  
FIRST  RECORD([City])
無駄な処理理
QUERY([都市];[都市]標⾼高>1000)
FIRST RECORD([都市])
ORDER BY([都市];[都市]標⾼高)
FIRST RECORD([都市])
クエリを実⾏行行

先頭レコードをロード
先頭レコードを再ロード
並び替えを実⾏行行

先頭レコードをロード
先頭レコードを再ロード
QUERY([都市];[都市]標⾼高>1000)  
FIRST  RECORD([都市])  
ORDER  BY([都市];[都市]標⾼高)  
FIRST  RECORD([City])
無駄な処理理
QUERY([都市];[都市]標⾼高>1000)
FIRST RECORD([都市])
ORDER BY([都市];[都市]標⾼高)
FIRST RECORD([都市])
クエリを実⾏行行

先頭レコードをロード
先頭レコードを再ロード
並び替えを実⾏行行

先頭レコードをロード
先頭レコードを再ロード
出鱈⽬目なコマンドの実⾏行行順序
QUERY([都市];[都市]標⾼高>1000)  
FIRST  RECORD([都市])  
READ  WRITE([都市])  
LOAD  RECORD([都市])
出鱈⽬目なコマンドの実⾏行行順序
QUERY([都市];[都市]標⾼高>1000)
FIRST RECORD([都市])
READ WRITE([都市])
LOAD RECORD([都市])
QUERY([都市];[都市]標⾼高>1000)  
FIRST  RECORD([都市])  
READ  WRITE([都市])  
LOAD  RECORD([都市])
出鱈⽬目なコマンドの実⾏行行順序
QUERY([都市];[都市]標⾼高>1000)
FIRST RECORD([都市])
READ WRITE([都市])
LOAD RECORD([都市])
クエリを実⾏行行

先頭レコードをロード
QUERY([都市];[都市]標⾼高>1000)  
FIRST  RECORD([都市])  
READ  WRITE([都市])  
LOAD  RECORD([都市])
出鱈⽬目なコマンドの実⾏行行順序
QUERY([都市];[都市]標⾼高>1000)
FIRST RECORD([都市])
READ WRITE([都市])
LOAD RECORD([都市])
クエリを実⾏行行

先頭レコードをロード
先頭レコードを再ロード
QUERY([都市];[都市]標⾼高>1000)  
FIRST  RECORD([都市])  
READ  WRITE([都市])  
LOAD  RECORD([都市])
出鱈⽬目なコマンドの実⾏行行順序
QUERY([都市];[都市]標⾼高>1000)
FIRST RECORD([都市])
READ WRITE([都市])
LOAD RECORD([都市])
クエリを実⾏行行

先頭レコードをロード
先頭レコードを再ロード
アクセスモードを変更更
QUERY([都市];[都市]標⾼高>1000)  
FIRST  RECORD([都市])  
READ  WRITE([都市])  
LOAD  RECORD([都市])
出鱈⽬目なコマンドの実⾏行行順序
QUERY([都市];[都市]標⾼高>1000)
FIRST RECORD([都市])
READ WRITE([都市])
LOAD RECORD([都市])
クエリを実⾏行行

先頭レコードをロード
先頭レコードを再ロード
アクセスモードを変更更
先頭レコードを再ロード
QUERY([都市];[都市]標⾼高>1000)  
FIRST  RECORD([都市])  
READ  WRITE([都市])  
LOAD  RECORD([都市])
READ  WRITE([都市])  
QUERY([都市];[都市]標⾼高>1000)
出鱈⽬目なコマンドの実⾏行行順序
QUERY([都市];[都市]標⾼高>1000)
FIRST RECORD([都市])
READ WRITE([都市])
LOAD RECORD([都市])
クエリを実⾏行行

先頭レコードをロード
先頭レコードを再ロード
アクセスモードを変更更
先頭レコードを再ロード
READ WRITE([都市])
QUERY([都市];[都市]標⾼高>1000)
無意味な汎⽤用メソッド
QUERY([都市];[都市]⼈人⼝口>100000)  
While  (Not(End  selection([都市])))  
   Load_̲Record  (-‐‑‒>[都市])  
   [都市]名称:=Uppercase([都市]名称)  
   SAVE  RECORD([都市])  
   UnLoad_̲Record  (-‐‑‒>[都市])  
   NEXT  RECORD([都市])  
End  while  
無意味な汎⽤用メソッド
QUERY([都市];[都市]⼈人⼝口>100000)  
While  (Not(End  selection([都市])))  
   Load_̲Record  (-‐‑‒>[都市])  
   [都市]名称:=Uppercase([都市]名称)  
   SAVE  RECORD([都市])  
   UnLoad_̲Record  (-‐‑‒>[都市])  
   NEXT  RECORD([都市])  
End  while  
QUERY([都市];[都市]⼈人⼝口>100000)  
While  (Not(End  selection([都市])))  
   Load_̲Record  (-‐‑‒>[都市])  
   [都市]名称:=Uppercase([都市]名称)  
   SAVE  RECORD([都市])  
   UnLoad_̲Record  (-‐‑‒>[都市])  
   NEXT  RECORD([都市])  
End  while  
無意味な汎⽤用メソッド
QUERY([都市];[都市]⼈人⼝口>100000)  
While  (Not(End  selection([都市])))  
   Load_̲Record  (-‐‑‒>[都市])  
   [都市]名称:=Uppercase([都市]名称)  
   SAVE  RECORD([都市])  
   UnLoad_̲Record  (-‐‑‒>[都市])  
   NEXT  RECORD([都市])  
End  while  
  //  メソッド  :  Load_̲Record  
C_̲POINTER($1)  
READ  WRITE($1-‐‑‒>)  
LOAD  RECORD($1-‐‑‒>)
QUERY([都市];[都市]⼈人⼝口>100000)  
While  (Not(End  selection([都市])))  
   Load_̲Record  (-‐‑‒>[都市])  
   [都市]名称:=Uppercase([都市]名称)  
   SAVE  RECORD([都市])  
   UnLoad_̲Record  (-‐‑‒>[都市])  
   NEXT  RECORD([都市])  
End  while  
無意味な汎⽤用メソッド
QUERY([都市];[都市]⼈人⼝口>100000)  
While  (Not(End  selection([都市])))  
   Load_̲Record  (-‐‑‒>[都市])  
   [都市]名称:=Uppercase([都市]名称)  
   SAVE  RECORD([都市])  
   UnLoad_̲Record  (-‐‑‒>[都市])  
   NEXT  RECORD([都市])  
End  while  
  //  メソッド  :  Load_̲Record  
C_̲POINTER($1)  
READ  WRITE($1-‐‑‒>)  
LOAD  RECORD($1-‐‑‒>)
  //  メソッド  :  UnLoad_̲Record  
C_̲POINTER($1)  
READ  ONLY($1-‐‑‒>)  
UNLOAD  RECORD($1-‐‑‒>)
QUERY([都市];[都市]⼈人⼝口>100000)  
While  (Not(End  selection([都市])))  
   Load_̲Record  (-‐‑‒>[都市])  
   [都市]名称:=Uppercase([都市]名称)  
   SAVE  RECORD([都市])  
   UnLoad_̲Record  (-‐‑‒>[都市])  
   NEXT  RECORD([都市])  
End  while  
無意味な汎⽤用メソッド
QUERY([都市];[都市]⼈人⼝口>100000)  
While  (Not(End  selection([都市])))  
   Load_̲Record  (-‐‑‒>[都市])  
   [都市]名称:=Uppercase([都市]名称)  
   SAVE  RECORD([都市])  
   UnLoad_̲Record  (-‐‑‒>[都市])  
   NEXT  RECORD([都市])  
End  while  
  //  メソッド  :  Load_̲Record  
C_̲POINTER($1)  
READ  WRITE($1-‐‑‒>)  
LOAD  RECORD($1-‐‑‒>)
  //  メソッド  :  UnLoad_̲Record  
C_̲POINTER($1)  
READ  ONLY($1-‐‑‒>)  
UNLOAD  RECORD($1-‐‑‒>)
ループの実⾏行行ごとに4リクエスト
QUERY([都市];[都市]⼈人⼝口>100000)  
While  (Not(End  selection([都市])))  
   Load_̲Record  (-‐‑‒>[都市])  
   [都市]名称:=Uppercase([都市]名称)  
   SAVE  RECORD([都市])  
   UnLoad_̲Record  (-‐‑‒>[都市])  
   NEXT  RECORD([都市])  
End  while  
無意味な汎⽤用メソッド
QUERY([都市];[都市]⼈人⼝口>100000)  
While  (Not(End  selection([都市])))  
   Load_̲Record  (-‐‑‒>[都市])  
   [都市]名称:=Uppercase([都市]名称)  
   SAVE  RECORD([都市])  
   UnLoad_̲Record  (-‐‑‒>[都市])  
   NEXT  RECORD([都市])  
End  while  
  //  メソッド  :  Load_̲Record  
C_̲POINTER($1)  
READ  WRITE($1-‐‑‒>)  
LOAD  RECORD($1-‐‑‒>)
  //  メソッド  :  UnLoad_̲Record  
C_̲POINTER($1)  
READ  ONLY($1-‐‑‒>)  
UNLOAD  RECORD($1-‐‑‒>)
ループの実⾏行行ごとに4リクエスト
QUERY([都市];[都市]⼈人⼝口>100000)  
While  (Not(End  selection([都市])))  
   Load_̲Record  (-‐‑‒>[都市])  
   [都市]名称:=Uppercase([都市]名称)  
   SAVE  RECORD([都市])  
   UnLoad_̲Record  (-‐‑‒>[都市])  
   NEXT  RECORD([都市])  
End  while  
READ  WRITE([都市])  
QUERY([都市];[都市]⼈人⼝口>100000)  
While  (Not(End  selection([都市])))  
   [都市]名称:=Uppercase([都市]名称)  
   SAVE  RECORD([都市])  
   NEXT  RECORD([都市])  
End  while    
READ  ONLY([都市])
無意味な汎⽤用メソッド
QUERY
While  
  
  
  
  
  
End  while  
  //  メソッド  :  Load_̲Record  
C_̲POINTER($1)  
READ  WRITE($1-‐‑‒>)  
LOAD  RECORD($1-‐‑‒>)
  //  メソッド  :  UnLoad_̲Record  
C_̲POINTER($1)  
READ  ONLY($1-‐‑‒>)  
UNLOAD  RECORD($1-‐‑‒>)
READ WRITE([都市])
QUERY([都市];[都市]⼈人⼝口>100000)
While (Not(End selection([都市])))
[都市]名称:=Uppercase([都市]名称)
SAVE RECORD([都市])
NEXT RECORD([都市])
End while
READ ONLY([都市])
ループの実⾏行行ごとに4リクエスト
QUERY([都市];[都市]⼈人⼝口>100000)  
While  (Not(End  selection([都市])))  
   Load_̲Record  (-‐‑‒>[都市])  
   [都市]名称:=Uppercase([都市]名称)  
   SAVE  RECORD([都市])  
   UnLoad_̲Record  (-‐‑‒>[都市])  
   NEXT  RECORD([都市])  
End  while  
READ  WRITE([都市])  
QUERY([都市];[都市]⼈人⼝口>100000)  
While  (Not(End  selection([都市])))  
   [都市]名称:=Uppercase([都市]名称)  
   SAVE  RECORD([都市])  
   NEXT  RECORD([都市])  
End  while    
READ  ONLY([都市])
無意味な汎⽤用メソッド
QUERY
While  
  
  
  
  
  
End  while  
  //  メソッド  :  Load_̲Record  
C_̲POINTER($1)  
READ  WRITE($1-‐‑‒>)  
LOAD  RECORD($1-‐‑‒>)
  //  メソッド  :  UnLoad_̲Record  
C_̲POINTER($1)  
READ  ONLY($1-‐‑‒>)  
UNLOAD  RECORD($1-‐‑‒>)
READ WRITE([都市])
QUERY([都市];[都市]⼈人⼝口>100000)
While (Not(End selection([都市])))
[都市]名称:=Uppercase([都市]名称)
SAVE RECORD([都市])
NEXT RECORD([都市])
End while
READ ONLY([都市])
ループの実⾏行行ごとに4リクエスト
ループの実⾏行行毎に2リクエスト
過剰なセレクション
COPY  NAMED  SELECTION([ホテル];"選択したホテル")  
QUERY([ホテル];[客室]価格<70)  
$average_̲price:=Average([客室]価格)  
USE  NAMED  SELECTION("選択したホテル")  
CLEAR  NAMED  SELECTION("選択したホテル")
過剰なセレクション
COPY NAMED SELECTION([ホテル];"選択したホテル")
QUERY([ホテル];[客室]価格<70)
$average_̲price:=Average([客室]価格)
USE NAMED SELECTION("選択したホテル")
CLEAR NAMED SELECTION("選択したホテル")
COPY  NAMED  SELECTION([ホテル];"選択したホテル")  
QUERY([ホテル];[客室]価格<70)  
$average_̲price:=Average([客室]価格)  
USE  NAMED  SELECTION("選択したホテル")  
CLEAR  NAMED  SELECTION("選択したホテル")
過剰なセレクション
COPY NAMED SELECTION([ホテル];"選択したホテル")
QUERY([ホテル];[客室]価格<70)
$average_̲price:=Average([客室]価格)
USE NAMED SELECTION("選択したホテル")
CLEAR NAMED SELECTION("選択したホテル")
カレントセレクションをメモリにコピー
命名セレクションを作成
COPY  NAMED  SELECTION([ホテル];"選択したホテル")  
QUERY([ホテル];[客室]価格<70)  
$average_̲price:=Average([客室]価格)  
USE  NAMED  SELECTION("選択したホテル")  
CLEAR  NAMED  SELECTION("選択したホテル")
過剰なセレクション
COPY NAMED SELECTION([ホテル];"選択したホテル")
QUERY([ホテル];[客室]価格<70)
$average_̲price:=Average([客室]価格)
USE NAMED SELECTION("選択したホテル")
CLEAR NAMED SELECTION("選択したホテル")
カレントセレクションをメモリにコピー
命名セレクションを作成
カレントセレクションを破棄

クエリを実⾏行行

カレントセレクションを作成
COPY  NAMED  SELECTION([ホテル];"選択したホテル")  
QUERY([ホテル];[客室]価格<70)  
$average_̲price:=Average([客室]価格)  
USE  NAMED  SELECTION("選択したホテル")  
CLEAR  NAMED  SELECTION("選択したホテル")
過剰なセレクション
COPY NAMED SELECTION([ホテル];"選択したホテル")
QUERY([ホテル];[客室]価格<70)
$average_̲price:=Average([客室]価格)
USE NAMED SELECTION("選択したホテル")
CLEAR NAMED SELECTION("選択したホテル")
カレントセレクションをメモリにコピー
命名セレクションを作成
カレントセレクションを破棄

クエリを実⾏行行

カレントセレクションを作成
カレントセレクションを破棄

命名セレクションを復復元
COPY  NAMED  SELECTION([ホテル];"選択したホテル")  
QUERY([ホテル];[客室]価格<70)  
$average_̲price:=Average([客室]価格)  
USE  NAMED  SELECTION("選択したホテル")  
CLEAR  NAMED  SELECTION("選択したホテル")
過剰なセレクション
COPY NAMED SELECTION([ホテル];"選択したホテル")
QUERY([ホテル];[客室]価格<70)
$average_̲price:=Average([客室]価格)
USE NAMED SELECTION("選択したホテル")
CLEAR NAMED SELECTION("選択したホテル")
カレントセレクションをメモリにコピー
命名セレクションを作成
カレントセレクションを破棄

クエリを実⾏行行

カレントセレクションを作成
カレントセレクションを破棄

命名セレクションを復復元
メモリを解放
COPY  NAMED  SELECTION([ホテル];"選択したホテル")  
QUERY([ホテル];[客室]価格<70)  
$average_̲price:=Average([客室]価格)  
USE  NAMED  SELECTION("選択したホテル")  
CLEAR  NAMED  SELECTION("選択したホテル")
過剰なセレクション
COPY NAMED SELECTION([ホテル];"選択したホテル")
QUERY([ホテル];[客室]価格<70)
$average_̲price:=Average([客室]価格)
USE NAMED SELECTION("選択したホテル")
CLEAR NAMED SELECTION("選択したホテル")
カレントセレクションをメモリにコピー
命名セレクションを作成
カレントセレクションを破棄

クエリを実⾏行行

カレントセレクションを作成
カレントセレクションを破棄

命名セレクションを復復元
メモリを解放
CUT  NAMED  SELECTION([ホテル];"選択したホテル")  
QUERY([ホテル];[客室]価格<70)  
$average_̲price:=Average([客室]価格)  
USE  NAMED  SELECTION("選択したホテル")  
COPY  NAMED  SELECTION([ホテル];"選択したホテル")  
QUERY([ホテル];[客室]価格<70)  
$average_̲price:=Average([客室]価格)  
USE  NAMED  SELECTION("選択したホテル")  
CLEAR  NAMED  SELECTION("選択したホテル")
過剰なセレクション
COPY NAMED SELECTION([ホテル];"選択したホテル")
QUERY([ホテル];[客室]価格<70)
$average_̲price:=Average([客室]価格)
USE NAMED SELECTION("選択したホテル")
CLEAR NAMED SELECTION("選択したホテル")
カレントセレクションをメモリにコピー
命名セレクションを作成
カレントセレクションを破棄

クエリを実⾏行行

カレントセレクションを作成
CUT NAMED SELECTION([ホテル];"選択したホテル")
QUERY([ホテル];[客室]価格<70)
$average_̲price:=Average([客室]価格)
USE NAMED SELECTION("選択したホテル")
カレントセレクションを破棄

命名セレクションを復復元
メモリを解放
CUT  NAMED  SELECTION([ホテル];"選択したホテル")  
QUERY([ホテル];[客室]価格<70)  
$average_̲price:=Average([客室]価格)  
USE  NAMED  SELECTION("選択したホテル")  
COPY  NAMED  SELECTION([ホテル];"選択したホテル")  
QUERY([ホテル];[客室]価格<70)  
$average_̲price:=Average([客室]価格)  
USE  NAMED  SELECTION("選択したホテル")  
CLEAR  NAMED  SELECTION("選択したホテル")
過剰なセレクション
COPY NAMED SELECTION([ホテル];"選択したホテル")
QUERY([ホテル];[客室]価格<70)
$average_̲price:=Average([客室]価格)
USE NAMED SELECTION("選択したホテル")
CLEAR NAMED SELECTION("選択したホテル")
カレントセレクションをメモリにコピー
命名セレクションを作成
カレントセレクションを破棄

クエリを実⾏行行

カレントセレクションを作成
CUT NAMED SELECTION([ホテル];"選択したホテル")
QUERY([ホテル];[客室]価格<70)
$average_̲price:=Average([客室]価格)
USE NAMED SELECTION("選択したホテル")
カレントセレクションを破棄

命名セレクションを復復元
メモリを解放
カレントセレクションを命名

同時にカレントセレクションは消滅
CUT  NAMED  SELECTION([ホテル];"選択したホテル")  
QUERY([ホテル];[客室]価格<70)  
$average_̲price:=Average([客室]価格)  
USE  NAMED  SELECTION("選択したホテル")  
COPY  NAMED  SELECTION([ホテル];"選択したホテル")  
QUERY([ホテル];[客室]価格<70)  
$average_̲price:=Average([客室]価格)  
USE  NAMED  SELECTION("選択したホテル")  
CLEAR  NAMED  SELECTION("選択したホテル")
過剰なセレクション
COPY NAMED SELECTION([ホテル];"選択したホテル")
QUERY([ホテル];[客室]価格<70)
$average_̲price:=Average([客室]価格)
USE NAMED SELECTION("選択したホテル")
CLEAR NAMED SELECTION("選択したホテル")
カレントセレクションをメモリにコピー
命名セレクションを作成
カレントセレクションを破棄

クエリを実⾏行行

カレントセレクションを作成
CUT NAMED SELECTION([ホテル];"選択したホテル")
QUERY([ホテル];[客室]価格<70)
$average_̲price:=Average([客室]価格)
USE NAMED SELECTION("選択したホテル")
カレントセレクションを破棄

命名セレクションを復復元
メモリを解放
カレントセレクションを命名

同時にカレントセレクションは消滅
クエリを実⾏行行

カレントセレクションが作成される
CUT  NAMED  SELECTION([ホテル];"選択したホテル")  
QUERY([ホテル];[客室]価格<70)  
$average_̲price:=Average([客室]価格)  
USE  NAMED  SELECTION("選択したホテル")  
COPY  NAMED  SELECTION([ホテル];"選択したホテル")  
QUERY([ホテル];[客室]価格<70)  
$average_̲price:=Average([客室]価格)  
USE  NAMED  SELECTION("選択したホテル")  
CLEAR  NAMED  SELECTION("選択したホテル")
過剰なセレクション
COPY NAMED SELECTION([ホテル];"選択したホテル")
QUERY([ホテル];[客室]価格<70)
$average_̲price:=Average([客室]価格)
USE NAMED SELECTION("選択したホテル")
CLEAR NAMED SELECTION("選択したホテル")
カレントセレクションをメモリにコピー
命名セレクションを作成
カレントセレクションを破棄

クエリを実⾏行行

カレントセレクションを作成
CUT NAMED SELECTION([ホテル];"選択したホテル")
QUERY([ホテル];[客室]価格<70)
$average_̲price:=Average([客室]価格)
USE NAMED SELECTION("選択したホテル")
カレントセレクションを破棄

命名セレクションを復復元
メモリを解放
カレントセレクションを命名

同時にカレントセレクションは消滅
命名セレクションをカレントに転⽤用

  同時に命名セレクションは消滅

  (解放不不要!)
クエリを実⾏行行

カレントセレクションが作成される

More Related Content

PDF
CAAD FUTURES 2015: Development of High-definition Virtual Reality for Histo...
PDF
Availability of Mobile Augmented Reality System for Urban Landscape Simulation
PDF
SOAR: SENSOR ORIENTED MOBILE AUGMENTED REALITY FOR URBAN LANDSCAPE ASSESSMENT
PDF
A STUDY OF VARIATION OF NORMAL OF POLY-GONS CREATED BY POINT CLOUD DATA FOR A...
PDF
DISTRIBUTED AND SYNCHRONISED VR MEETING USING CLOUD COMPUTING: Availability a...
PDF
GOAR: GIS Oriented Mobile Augmented Reality for Urban Landscape Assessment
PDF
Build an iOS app with Ionic and 4D
PDF
4D WORLD TOUR 2017
CAAD FUTURES 2015: Development of High-definition Virtual Reality for Histo...
Availability of Mobile Augmented Reality System for Urban Landscape Simulation
SOAR: SENSOR ORIENTED MOBILE AUGMENTED REALITY FOR URBAN LANDSCAPE ASSESSMENT
A STUDY OF VARIATION OF NORMAL OF POLY-GONS CREATED BY POINT CLOUD DATA FOR A...
DISTRIBUTED AND SYNCHRONISED VR MEETING USING CLOUD COMPUTING: Availability a...
GOAR: GIS Oriented Mobile Augmented Reality for Urban Landscape Assessment
Build an iOS app with Ionic and 4D
4D WORLD TOUR 2017

More from kmiyako (20)

PDF
Leaflet
PDF
Inside Multi-Threading
PDF
4D Tags
PDF
Mirroring
PDF
Objects Fields
PDF
Code Optimisation
PDF
Auto Update
PDF
Classic Query Editor
PDF
Web area-phone-home
PDF
MONET研究会 #14
PDF
PDF
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~
PDF
Xslt
PDF
Journaling slides
PDF
Unicode-v11-5
PDF
Unicode-v11-0
PDF
アップグレードセミナー
PDF
4D Write Pro
PDF
バックアップと復元
PDF
⽇本語全⽂検索
Leaflet
Inside Multi-Threading
4D Tags
Mirroring
Objects Fields
Code Optimisation
Auto Update
Classic Query Editor
Web area-phone-home
MONET研究会 #14
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~
Xslt
Journaling slides
Unicode-v11-5
Unicode-v11-0
アップグレードセミナー
4D Write Pro
バックアップと復元
⽇本語全⽂検索
Ad

正しいクエリの書き⽅

  • 4. QUERY([航空機];[航空機]座席数>=400)   QUERY  SELECTION([航空機];[航空機]製造元="Airbus";*)   QUERY  SELECTION([航空機];  |  ;[航空機]製造元="Boeing") QUERY([航空機];[航空機]座席数>=400) QUERY SELECTION([航空機];[航空機]製造元="Airbus";*) QUERY SELECTION([航空機]; | ;[航空機]製造元="Boeing") 製造元がAirbusまたはBoeingで座席数が400以上の機体が欲しい シンプルなクエリ
  • 5. QUERY([航空機];[航空機]座席数>=400)   QUERY  SELECTION([航空機];[航空機]製造元="Airbus";*)   QUERY  SELECTION([航空機];  |  ;[航空機]製造元="Boeing") QUERY([航空機];[航空機]製造元="Airbus";*)   QUERY([航空機];  |  ;[航空機]製造元="Boeing";*)   QUERY([航空機];&;[航空機]座席数>=400) QUERY([航空機];[航空機]座席数>=400) QUERY SELECTION([航空機];[航空機]製造元="Airbus";*) QUERY SELECTION([航空機]; | ;[航空機]製造元="Boeing") QUERY([航空機];[航空機]製造元="Airbus";*) QUERY([航空機]; | ;[航空機]製造元="Boeing";*) QUERY([航空機]; & ;[航空機]座席数>=400) 製造元がAirbusまたはBoeingで座席数が400以上の機体が欲しい シンプルなクエリ
  • 6. QUERY([航空機];[航空機]座席数>=400)   QUERY  SELECTION([航空機];[航空機]製造元="Airbus";*)   QUERY  SELECTION([航空機];  |  ;[航空機]製造元="Boeing") QUERY([航空機];[航空機]製造元="Airbus";*)   QUERY([航空機];  |  ;[航空機]製造元="Boeing";*)   QUERY([航空機];&;[航空機]座席数>=400) QUERY  BY  FORMULA([航空機];     ([航空機]製造元="Airbus"       |  [航空機]製造元="Boeing")  &       [航空機]座席数>=400) QUERY([航空機];[航空機]座席数>=400) QUERY SELECTION([航空機];[航空機]製造元="Airbus";*) QUERY SELECTION([航空機]; | ;[航空機]製造元="Boeing") QUERY([航空機];[航空機]製造元="Airbus";*) QUERY([航空機]; | ;[航空機]製造元="Boeing";*) QUERY([航空機]; & ;[航空機]座席数>=400) QUERY BY FORMULA([航空機]; ([航空機]製造元="Airbus" | [航空機]製造元="Boeing") & [航空機]座席数>=400) 製造元がAirbusまたはBoeingで座席数が400以上の機体が欲しい シンプルなクエリ
  • 7. QUERY([航空機];[航空機]座席数>=400)   QUERY  SELECTION([航空機];[航空機]製造元="Airbus";*)   QUERY  SELECTION([航空機];  |  ;[航空機]製造元="Boeing") QUERY([航空機];[航空機]製造元="Airbus";*)   QUERY([航空機];  |  ;[航空機]製造元="Boeing";*)   QUERY([航空機];&;[航空機]座席数>=400) QUERY  BY  FORMULA([航空機];     ([航空機]製造元="Airbus"       |  [航空機]製造元="Boeing")  &       [航空機]座席数>=400) QUERY([航空機];[航空機]座席数>=400) QUERY SELECTION([航空機];[航空機]製造元="Airbus";*) QUERY SELECTION([航空機]; | ;[航空機]製造元="Boeing") QUERY([航空機];[航空機]製造元="Airbus";*) QUERY([航空機]; | ;[航空機]製造元="Boeing";*) QUERY([航空機]; & ;[航空機]座席数>=400) QUERY BY FORMULA([航空機]; ([航空機]製造元="Airbus" | [航空機]製造元="Boeing") & [航空機]座席数>=400) リクエスト  #1 製造元がAirbusまたはBoeingで座席数が400以上の機体が欲しい シンプルなクエリ
  • 8. QUERY([航空機];[航空機]座席数>=400)   QUERY  SELECTION([航空機];[航空機]製造元="Airbus";*)   QUERY  SELECTION([航空機];  |  ;[航空機]製造元="Boeing") QUERY([航空機];[航空機]製造元="Airbus";*)   QUERY([航空機];  |  ;[航空機]製造元="Boeing";*)   QUERY([航空機];&;[航空機]座席数>=400) QUERY  BY  FORMULA([航空機];     ([航空機]製造元="Airbus"       |  [航空機]製造元="Boeing")  &       [航空機]座席数>=400) QUERY([航空機];[航空機]座席数>=400) QUERY SELECTION([航空機];[航空機]製造元="Airbus";*) QUERY SELECTION([航空機]; | ;[航空機]製造元="Boeing") QUERY([航空機];[航空機]製造元="Airbus";*) QUERY([航空機]; | ;[航空機]製造元="Boeing";*) QUERY([航空機]; & ;[航空機]座席数>=400) QUERY BY FORMULA([航空機]; ([航空機]製造元="Airbus" | [航空機]製造元="Boeing") & [航空機]座席数>=400) リクエスト  #1 リクエスト  #2 製造元がAirbusまたはBoeingで座席数が400以上の機体が欲しい シンプルなクエリ
  • 9. QUERY([航空機];[航空機]座席数>=400)   QUERY  SELECTION([航空機];[航空機]製造元="Airbus";*)   QUERY  SELECTION([航空機];  |  ;[航空機]製造元="Boeing") QUERY([航空機];[航空機]製造元="Airbus";*)   QUERY([航空機];  |  ;[航空機]製造元="Boeing";*)   QUERY([航空機];&;[航空機]座席数>=400) QUERY  BY  FORMULA([航空機];     ([航空機]製造元="Airbus"       |  [航空機]製造元="Boeing")  &       [航空機]座席数>=400) QUERY([航空機];[航空機]座席数>=400) QUERY SELECTION([航空機];[航空機]製造元="Airbus";*) QUERY SELECTION([航空機]; | ;[航空機]製造元="Boeing") QUERY([航空機];[航空機]製造元="Airbus";*) QUERY([航空機]; | ;[航空機]製造元="Boeing";*) QUERY([航空機]; & ;[航空機]座席数>=400) QUERY BY FORMULA([航空機]; ([航空機]製造元="Airbus" | [航空機]製造元="Boeing") & [航空機]座席数>=400) リクエスト  #1 リクエスト  #2 単⼀一のリクエスト 製造元がAirbusまたはBoeingで座席数が400以上の機体が欲しい シンプルなクエリ
  • 10. QUERY([航空機];[航空機]座席数>=400)   QUERY  SELECTION([航空機];[航空機]製造元="Airbus";*)   QUERY  SELECTION([航空機];  |  ;[航空機]製造元="Boeing") QUERY([航空機];[航空機]製造元="Airbus";*)   QUERY([航空機];  |  ;[航空機]製造元="Boeing";*)   QUERY([航空機];&;[航空機]座席数>=400) QUERY  BY  FORMULA([航空機];     ([航空機]製造元="Airbus"       |  [航空機]製造元="Boeing")  &       [航空機]座席数>=400) QUERY([航空機];[航空機]座席数>=400) QUERY SELECTION([航空機];[航空機]製造元="Airbus";*) QUERY SELECTION([航空機]; | ;[航空機]製造元="Boeing") QUERY([航空機];[航空機]製造元="Airbus";*) QUERY([航空機]; | ;[航空機]製造元="Boeing";*) QUERY([航空機]; & ;[航空機]座席数>=400) QUERY BY FORMULA([航空機]; ([航空機]製造元="Airbus" | [航空機]製造元="Boeing") & [航空機]座席数>=400) リクエスト  #1 リクエスト  #2 単⼀一のリクエスト 単⼀一のリクエスト 製造元がAirbusまたはBoeingで座席数が400以上の機体が欲しい シンプルなクエリ
  • 13. QUERY([航空機];[航空機]製造元="Airbus";*) QUERY([航空機]; | ;[航空機]製造元="Boeing";*) QUERY([航空機]; & ;[航空機]座席数>=400) [航空機]製造元="Airbus" 条件の絞り込み順序が分からない?
  • 14. QUERY([航空機];[航空機]製造元="Airbus";*) QUERY([航空機]; | ;[航空機]製造元="Boeing";*) QUERY([航空機]; & ;[航空機]座席数>=400) [航空機]製造元="Airbus" | [航空機]製造元="Boeing" 条件の絞り込み順序が分からない?
  • 15. QUERY([航空機];[航空機]製造元="Airbus";*) QUERY([航空機]; | ;[航空機]製造元="Boeing";*) QUERY([航空機]; & ;[航空機]座席数>=400) [航空機]製造元="Airbus" | [航空機]製造元="Boeing"( ) & [航空機]座席数>=400 条件の絞り込み順序が分からない?
  • 16. QUERY([航空機];[航空機]製造元="Airbus";*) QUERY([航空機]; | ;[航空機]製造元="Boeing";*) QUERY([航空機]; & ;[航空機]座席数>=400) [航空機]製造元="Airbus" | [航空機]製造元="Boeing"( ) & [航空機]座席数>=400 条件の絞り込み順序が分からない? v3以来
  • 19. 初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい ARRAY INTEGER($_̲year;0) APPEND TO ARRAY($_̲year;1986) APPEND TO ARRAY($_̲year;1987) APPEND TO ARRAY($_̲year;1990) $date1stjan:=Add to date(!00/00/0000!;$_̲year{1};1;1) $date31dec:=Add to date(!00/00/0000!;$_̲year{1};12;31) QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec;*) For ($i;2;Size of array($_̲year);1) $date1stjan:=Add to date(!00/00/0000!;$_̲year{$i};1;1) $date31dec:=Add to date(!00/00/0000!;$_̲year{$i};12;31) QUERY([Aircraft]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*) QUERY([Aircraft]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec;*) End for QUERY([航空機];[航空機]エンジン数=4) 複雑なクエリ
  • 20. 初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい ARRAY INTEGER($_̲year;0) APPEND TO ARRAY($_̲year;1986) APPEND TO ARRAY($_̲year;1987) APPEND TO ARRAY($_̲year;1990) $date1stjan:=Add to date(!00/00/0000!;$_̲year{1};1;1) $date31dec:=Add to date(!00/00/0000!;$_̲year{1};12;31) QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec;*) For ($i;2;Size of array($_̲year);1) $date1stjan:=Add to date(!00/00/0000!;$_̲year{$i};1;1) $date31dec:=Add to date(!00/00/0000!;$_̲year{$i};12;31) QUERY([Aircraft]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*) QUERY([Aircraft]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec;*) End for QUERY([航空機];[航空機]エンジン数=4) 複雑なクエリ
  • 22. QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1986;*) QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1987;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1987;*) QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1990;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1990;*) QUERY([航空機];[航空機]エンジン数=4) 複雑なクエリ 初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
  • 23. QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1986;*) QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1987;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1987;*) QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1990;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1990;*) QUERY([航空機];[航空機]エンジン数=4) [航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986 複雑なクエリ 初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
  • 24. QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1986;*) QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1987;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1987;*) QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1990;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1990;*) QUERY([航空機];[航空機]エンジン数=4) [航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986 & [航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1986 複雑なクエリ 初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
  • 25. QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1986;*) QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1987;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1987;*) QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1990;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1990;*) QUERY([航空機];[航空機]エンジン数=4) [航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986 & [航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1986( ) | [航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1987 複雑なクエリ 初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
  • 26. QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1986;*) QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1987;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1987;*) QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1990;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1990;*) QUERY([航空機];[航空機]エンジン数=4) [航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986 & [航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1986( ) | [航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1987 ( ) & [航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1987 複雑なクエリ 初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
  • 27. QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1986;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1986;*) QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1987;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1987;*) QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日>=$date1stjan_̲1990;*) QUERY([航空機]; & ;[航空機]初⾶飛⾏行行⽇日<=$date31dec_̲1990;*) QUERY([航空機];[航空機]エンジン数=4) 複雑なクエリ 初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
  • 29. QUERY([航空機];[航空機]エンジン数=4) CREATE SET([航空機];"4エンジン") For ($i;1;Size of array($_̲year);1) $date1stjan:=Add to date(!0000/00/00!;$_̲year{$i};1;1) $date31dec:=Add to date(!0000/00/00!;$_̲year{$i};12;31) QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*) QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日<=$date31dec) If ($i=1) CREATE SET([航空機];"年年") Else CREATE SET([航空機];"年年2") UNION("年年";"年年2";"年年") End if End for INTERSECTION("年年";"4エンジン";"年年") USE SET("年年") CLEAR SET("年年") CLEAR SET("年年2") CLEAR SET("4エンジン") 複雑なクエリ 初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
  • 30. QUERY([航空機];[航空機]エンジン数=4) CREATE SET([航空機];"4エンジン") For ($i;1;Size of array($_̲year);1) $date1stjan:=Add to date(!0000/00/00!;$_̲year{$i};1;1) $date31dec:=Add to date(!0000/00/00!;$_̲year{$i};12;31) QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*) QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日<=$date31dec) If ($i=1) CREATE SET([航空機];"年年") Else CREATE SET([航空機];"年年2") UNION("年年";"年年2";"年年") End if End for INTERSECTION("年年";"4エンジン";"年年") USE SET("年年") CLEAR SET("年年") CLEAR SET("年年2") CLEAR SET("4エンジン") リクエスト  #1 複雑なクエリ 初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
  • 31. QUERY([航空機];[航空機]エンジン数=4) CREATE SET([航空機];"4エンジン") For ($i;1;Size of array($_̲year);1) $date1stjan:=Add to date(!0000/00/00!;$_̲year{$i};1;1) $date31dec:=Add to date(!0000/00/00!;$_̲year{$i};12;31) QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*) QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日<=$date31dec) If ($i=1) CREATE SET([航空機];"年年") Else CREATE SET([航空機];"年年2") UNION("年年";"年年2";"年年") End if End for INTERSECTION("年年";"4エンジン";"年年") USE SET("年年") CLEAR SET("年年") CLEAR SET("年年2") CLEAR SET("4エンジン") リクエスト  #1 リクエスト  #2 複雑なクエリ 初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
  • 32. QUERY([航空機];[航空機]エンジン数=4) CREATE SET([航空機];"4エンジン") For ($i;1;Size of array($_̲year);1) $date1stjan:=Add to date(!0000/00/00!;$_̲year{$i};1;1) $date31dec:=Add to date(!0000/00/00!;$_̲year{$i};12;31) QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*) QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日<=$date31dec) If ($i=1) CREATE SET([航空機];"年年") Else CREATE SET([航空機];"年年2") UNION("年年";"年年2";"年年") End if End for INTERSECTION("年年";"4エンジン";"年年") USE SET("年年") CLEAR SET("年年") CLEAR SET("年年2") CLEAR SET("4エンジン") リクエスト  #1 リクエスト  #2 リクエスト  #3,5,8 リクエスト  #4 リクエスト  #6,9 リクエスト  #7,10 複雑なクエリ 初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
  • 33. QUERY([航空機];[航空機]エンジン数=4) CREATE SET([航空機];"4エンジン") For ($i;1;Size of array($_̲year);1) $date1stjan:=Add to date(!0000/00/00!;$_̲year{$i};1;1) $date31dec:=Add to date(!0000/00/00!;$_̲year{$i};12;31) QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*) QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日<=$date31dec) If ($i=1) CREATE SET([航空機];"年年") Else CREATE SET([航空機];"年年2") UNION("年年";"年年2";"年年") End if End for INTERSECTION("年年";"4エンジン";"年年") USE SET("年年") CLEAR SET("年年") CLEAR SET("年年2") CLEAR SET("4エンジン") リクエスト  #1 リクエスト  #2 リクエスト  #3,5,8 リクエスト  #4 リクエスト  #6,9 リクエスト  #7,10 リクエスト  #11 リクエスト  #12 リクエスト  #13 リクエスト  #14 リクエスト  #15 複雑なクエリ 初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
  • 34. QUERY([航空機];[航空機]エンジン数=4) CREATE SET([航空機];"4エンジン") For ($i;1;Size of array($_̲year);1) $date1stjan:=Add to date(!0000/00/00!;$_̲year{$i};1;1) $date31dec:=Add to date(!0000/00/00!;$_̲year{$i};12;31) QUERY([航空機];[航空機]初⾶飛⾏行行⽇日>=$date1stjan;*) QUERY([航空機]; | ;[航空機]初⾶飛⾏行行⽇日<=$date31dec) If ($i=1) CREATE SET([航空機];"年年") Else CREATE SET([航空機];"年年2") UNION("年年";"年年2";"年年") End if End for INTERSECTION("年年";"4エンジン";"年年") USE SET("年年") CLEAR SET("年年") CLEAR SET("年年2") CLEAR SET("4エンジン") リクエスト  #1 リクエスト  #2 リクエスト  #3,5,8 リクエスト  #4 リクエスト  #6,9 リクエスト  #7,10 リクエスト  #11 リクエスト  #12 リクエスト  #13 リクエスト  #14 リクエスト  #15 複雑なクエリ 初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
  • 36. ARRAY INTEGER($_̲year;0) APPEND TO ARRAY($_̲year;1986) APPEND TO ARRAY($_̲year;1987) APPEND TO ARRAY($_̲year;1990) $myRequest:="" For ($i;1;Size of array($_̲year);1) If ($i#1) $myRequest:=$myRequest+" OR " End if $myRequest:=$myRequest+"([初⾶飛⾏行行⽇日]>='"+String($_̲year{$i})+"-‐‑‒01-‐‑‒01'" $myRequest:=$myRequest+" AND [初⾶飛⾏行行⽇日]<='"+String($_̲year{$i})+"-‐‑‒12-‐‑‒31' )" End for $myRequest:=$myRequest+" AND [エンジン数]=4" QUERY BY SQL([航空機];$myRequest) 複雑なクエリ 初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
  • 37. ARRAY INTEGER($_̲year;0) APPEND TO ARRAY($_̲year;1986) APPEND TO ARRAY($_̲year;1987) APPEND TO ARRAY($_̲year;1990) $myRequest:="" For ($i;1;Size of array($_̲year);1) If ($i#1) $myRequest:=$myRequest+" OR " End if $myRequest:=$myRequest+"([初⾶飛⾏行行⽇日]>='"+String($_̲year{$i})+"-‐‑‒01-‐‑‒01'" $myRequest:=$myRequest+" AND [初⾶飛⾏行行⽇日]<='"+String($_̲year{$i})+"-‐‑‒12-‐‑‒31' )" End for $myRequest:=$myRequest+" AND [エンジン数]=4" QUERY BY SQL([航空機];$myRequest) 単⼀一のリクエスト 複雑なクエリ 初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
  • 38. ARRAY INTEGER($_̲year;0) APPEND TO ARRAY($_̲year;1986) APPEND TO ARRAY($_̲year;1987) APPEND TO ARRAY($_̲year;1990) $myRequest:="" For ($i;1;Size of array($_̲year);1) If ($i#1) $myRequest:=$myRequest+" OR " End if $myRequest:=$myRequest+"([初⾶飛⾏行行⽇日]>='"+String($_̲year{$i})+"-‐‑‒01-‐‑‒01'" $myRequest:=$myRequest+" AND [初⾶飛⾏行行⽇日]<='"+String($_̲year{$i})+"-‐‑‒12-‐‑‒31' )" End for $myRequest:=$myRequest+" AND [エンジン数]=4" QUERY BY SQL([航空機];$myRequest) v11以来 単⼀一のリクエスト 複雑なクエリ 初⾶飛⾏行行が1986,  1987または1990年年で4エンジン搭載の機体が知りたい
  • 40. QUERY([航空機];[航空機]カテゴリー="Land")   If  ($nbOfSeatsMin#0)     QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)   End  if     If  ($nbOfSeatsMax#0)     QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)   End  if     If  ($nbOfEngines#0)     QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)   End  if   QUERY([航空機];[航空機]カテゴリー="Land")   If  ($nbOfSeatsMin#0)     QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)   End  if     If  ($nbOfSeatsMax#0)     QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)   End  if     If  ($nbOfEngines#0)     QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)   End  if   クエリの連結 ※複合クエリで論論理理演算⼦子を省省略略した場合はAND  (&)  が採⽤用される
  • 41. QUERY([航空機];[航空機]カテゴリー="Land")   If  ($nbOfSeatsMin#0)     QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)   End  if     If  ($nbOfSeatsMax#0)     QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)   End  if     If  ($nbOfEngines#0)     QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)   End  if   QUERY([航空機];[航空機]カテゴリー="Land")   If  ($nbOfSeatsMin#0)     QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)   End  if     If  ($nbOfSeatsMax#0)     QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)   End  if     If  ($nbOfEngines#0)     QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)   End  if   クエリの連結 ※複合クエリで論論理理演算⼦子を省省略略した場合はAND  (&)  が採⽤用される
  • 42. QUERY([航空機];[航空機]カテゴリー="Land")   If  ($nbOfSeatsMin#0)     QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)   End  if     If  ($nbOfSeatsMax#0)     QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)   End  if     If  ($nbOfEngines#0)     QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)   End  if   QUERY([航空機];[航空機]カテゴリー="Land")   If  ($nbOfSeatsMin#0)     QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)   End  if     If  ($nbOfSeatsMax#0)     QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)   End  if     If  ($nbOfEngines#0)     QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)   End  if   If  ($nbOfSeatsMin#0)     QUERY  ([航空機];[航空機]座席数>=$nbOfSeatsMin;*)   End  if     If  ($nbOfSeatsMax#0)     QUERY  ([航空機];[航空機]座席数<=$nbOfSeatsMax;*)   End  if     If  ($nbOfEngines#0)     QUERY  ([航空機];[航空機]座席数=$nbOfEngines;*)   End  if     QUERY([航空機];[航空機]カテゴリー="Land") クエリの連結 If ($nbOfSeatsMin#0) QUERY ([航空機];[航空機]座席数>=$nbOfSeatsMin;*) End if If ($nbOfSeatsMax#0) QUERY ([航空機];[航空機]座席数<=$nbOfSeatsMax;*) End if If ($nbOfEngines#0) QUERY ([航空機];[航空機]座席数=$nbOfEngines;*) End if QUERY([航空機];[航空機]カテゴリー="Land") ※複合クエリで論論理理演算⼦子を省省略略した場合はAND  (&)  が採⽤用される
  • 43. QUERY([航空機];[航空機]カテゴリー="Land")   If  ($nbOfSeatsMin#0)     QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)   End  if     If  ($nbOfSeatsMax#0)     QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)   End  if     If  ($nbOfEngines#0)     QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)   End  if   QUERY([航空機];[航空機]カテゴリー="Land")   If  ($nbOfSeatsMin#0)     QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)   End  if     If  ($nbOfSeatsMax#0)     QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)   End  if     If  ($nbOfEngines#0)     QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)   End  if   If  ($nbOfSeatsMin#0)     QUERY  ([航空機];[航空機]座席数>=$nbOfSeatsMin;*)   End  if     If  ($nbOfSeatsMax#0)     QUERY  ([航空機];[航空機]座席数<=$nbOfSeatsMax;*)   End  if     If  ($nbOfEngines#0)     QUERY  ([航空機];[航空機]座席数=$nbOfEngines;*)   End  if     QUERY([航空機];[航空機]カテゴリー="Land") クエリの連結 If ($nbOfSeatsMin#0) QUERY ([航空機];[航空機]座席数>=$nbOfSeatsMin;*) End if If ($nbOfSeatsMax#0) QUERY ([航空機];[航空機]座席数<=$nbOfSeatsMax;*) End if If ($nbOfEngines#0) QUERY ([航空機];[航空機]座席数=$nbOfEngines;*) End if QUERY([航空機];[航空機]カテゴリー="Land") 1~∼4リクエスト ※複合クエリで論論理理演算⼦子を省省略略した場合はAND  (&)  が採⽤用される
  • 44. QUERY([航空機];[航空機]カテゴリー="Land")   If  ($nbOfSeatsMin#0)     QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)   End  if     If  ($nbOfSeatsMax#0)     QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)   End  if     If  ($nbOfEngines#0)     QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)   End  if   QUERY([航空機];[航空機]カテゴリー="Land")   If  ($nbOfSeatsMin#0)     QUERY  SELECTION([航空機];[航空機]座席数>=$nbOfSeatsMin)   End  if     If  ($nbOfSeatsMax#0)     QUERY  SELECTION([航空機];[航空機]座席数<=$nbOfSeatsMax)   End  if     If  ($nbOfEngines#0)     QUERY  SELECTION([航空機];[航空機]座席数=$nbOfEngines)   End  if   If  ($nbOfSeatsMin#0)     QUERY  ([航空機];[航空機]座席数>=$nbOfSeatsMin;*)   End  if     If  ($nbOfSeatsMax#0)     QUERY  ([航空機];[航空機]座席数<=$nbOfSeatsMax;*)   End  if     If  ($nbOfEngines#0)     QUERY  ([航空機];[航空機]座席数=$nbOfEngines;*)   End  if     QUERY([航空機];[航空機]カテゴリー="Land") クエリの連結 If ($nbOfSeatsMin#0) QUERY ([航空機];[航空機]座席数>=$nbOfSeatsMin;*) End if If ($nbOfSeatsMax#0) QUERY ([航空機];[航空機]座席数<=$nbOfSeatsMax;*) End if If ($nbOfEngines#0) QUERY ([航空機];[航空機]座席数=$nbOfEngines;*) End if QUERY([航空機];[航空機]カテゴリー="Land") 1~∼4リクエスト 単⼀一リクエスト ※複合クエリで論論理理演算⼦子を省省略略した場合はAND  (&)  が採⽤用される
  • 46. QUERY([航空機];[航空機]カテゴリー="Land";*)   If  ($nbOfSeatsMin#0)     QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)   End  if     If  ($nbOfSeatsMax#0)     QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)   End  if     If  ($nbOfEngines#0)     QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)   End  if     QUERY([航空機]) QUERY([航空機];[航空機]カテゴリー="Land";*) If ($nbOfSeatsMin#0) QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*) End if If ($nbOfSeatsMax#0) QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*) End if If ($nbOfEngines#0) QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*) End if クエリの連結
  • 47. QUERY([航空機];[航空機]カテゴリー="Land";*)   If  ($nbOfSeatsMin#0)     QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)   End  if     If  ($nbOfSeatsMax#0)     QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)   End  if     If  ($nbOfEngines#0)     QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)   End  if     QUERY([航空機]) QUERY([航空機];[航空機]カテゴリー="Land";*) If ($nbOfSeatsMin#0) QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*) End if If ($nbOfSeatsMax#0) QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*) End if If ($nbOfEngines#0) QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*) End if QUERY([航空機];[航空機]ID#0) クエリの連結
  • 48. QUERY([航空機];[航空機]カテゴリー="Land";*)   If  ($nbOfSeatsMin#0)     QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)   End  if     If  ($nbOfSeatsMax#0)     QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)   End  if     If  ($nbOfEngines#0)     QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)   End  if     QUERY([航空機]) QUERY([航空機];[航空機]カテゴリー="Land";*) If ($nbOfSeatsMin#0) QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*) End if If ($nbOfSeatsMax#0) QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*) End if If ($nbOfEngines#0) QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*) End if QUERY([航空機];[航空機]ID#0) 無駄なインデックス検索索 クエリの連結
  • 50. QUERY([航空機];[航空機]カテゴリー="Land";*)   If  ($nbOfSeatsMin#0)     QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)   End  if     If  ($nbOfSeatsMax#0)     QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)   End  if     If  ($nbOfEngines#0)     QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)   End  if     QUERY([航空機]) QUERY([航空機];[航空機]カテゴリー="Land";*) If ($nbOfSeatsMin#0) QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*) End if If ($nbOfSeatsMax#0) QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*) End if If ($nbOfEngines#0) QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*) End if QUERY([航空機]) クエリの連結
  • 51. QUERY([航空機];[航空機]カテゴリー="Land";*)   If  ($nbOfSeatsMin#0)     QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)   End  if     If  ($nbOfSeatsMax#0)     QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)   End  if     If  ($nbOfEngines#0)     QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)   End  if     QUERY([航空機]) QUERY([航空機];[航空機]カテゴリー="Land";*) If ($nbOfSeatsMin#0) QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*) End if If ($nbOfSeatsMax#0) QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*) End if If ($nbOfEngines#0) QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*) End if QUERY([航空機]) クエリ実⾏行行 クエリの連結
  • 52. QUERY([航空機];[航空機]カテゴリー="Land";*)   If  ($nbOfSeatsMin#0)     QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)   End  if     If  ($nbOfSeatsMax#0)     QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)   End  if     If  ($nbOfEngines#0)     QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)   End  if     QUERY([航空機]) QUERY([航空機];[航空機]カテゴリー="Land";*) If ($nbOfSeatsMin#0) QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*) End if If ($nbOfSeatsMax#0) QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*) End if If ($nbOfEngines#0) QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*) End if QUERY([航空機]) 単⼀一リクエスト クエリ実⾏行行 クエリの連結
  • 53. QUERY([航空機];[航空機]カテゴリー="Land";*)   If  ($nbOfSeatsMin#0)     QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*)   End  if     If  ($nbOfSeatsMax#0)     QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*)   End  if     If  ($nbOfEngines#0)     QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*)   End  if     QUERY([航空機]) QUERY([航空機];[航空機]カテゴリー="Land";*) If ($nbOfSeatsMin#0) QUERY([航空機];[航空機]座席数>=$nbOfSeatsMin;*) End if If ($nbOfSeatsMax#0) QUERY([航空機];[航空機]座席数<=$nbOfSeatsMax;*) End if If ($nbOfEngines#0) QUERY([航空機];[航空機]エンジン数=$nbOfEngines;*) End if QUERY([航空機]) 単⼀一リクエスト クエリ実⾏行行 クエリの連結 v3以来
  • 55. Case  of       :  ($operator="=")       QUERY([航空機];[航空機]座席数=$nbOfSeats)     :  ($operator=">")       QUERY([航空機];[航空機]座席数>$nbOfSeats)     :  ($operator="<")       QUERY([航空機];[航空機]座席数<$nbOfSeats)     :($operator=">=")       QUERY([航空機];[航空機]座席数>=$nbOfSeats)     :  ($operator="<=")       QUERY([航空機];[航空機]座席数<=$nbOfSeats)     :  ($operator="#")       QUERY([航空機];[航空機]座席数#$nbOfSeats)   End  case   Case of : ($operator="=") QUERY([航空機];[航空機]座席数=$nbOfSeats) : ($operator=">") QUERY([航空機];[航空機]座席数>$nbOfSeats) : ($operator="<") QUERY([航空機];[航空機]座席数<$nbOfSeats) :($operator=">=") QUERY([航空機];[航空機]座席数>=$nbOfSeats) : ($operator="<=") QUERY([航空機];[航空機]座席数<=$nbOfSeats) : ($operator="#") QUERY([航空機];[航空機]座席数#$nbOfSeats) End case Case⽂文の簡略略化
  • 56. Case  of       :  ($operator="=")       QUERY([航空機];[航空機]座席数=$nbOfSeats)     :  ($operator=">")       QUERY([航空機];[航空機]座席数>$nbOfSeats)     :  ($operator="<")       QUERY([航空機];[航空機]座席数<$nbOfSeats)     :($operator=">=")       QUERY([航空機];[航空機]座席数>=$nbOfSeats)     :  ($operator="<=")       QUERY([航空機];[航空機]座席数<=$nbOfSeats)     :  ($operator="#")       QUERY([航空機];[航空機]座席数#$nbOfSeats)   End  case   QUERY([航空機];[航空機]座席数;$operator;$nbOfSeats) Case of : ($operator="=") QUERY([航空機];[航空機]座席数=$nbOfSeats) : ($operator=">") QUERY([航空機];[航空機]座席数>$nbOfSeats) : ($operator="<") QUERY([航空機];[航空機]座席数<$nbOfSeats) :($operator=">=") QUERY([航空機];[航空機]座席数>=$nbOfSeats) : ($operator="<=") QUERY([航空機];[航空機]座席数<=$nbOfSeats) : ($operator="#") QUERY([航空機];[航空機]座席数#$nbOfSeats) End case QUERY([航空機];[航空機]座席数;$operator;$nbOfSeats) Case⽂文の簡略略化
  • 57. Case  of       :  ($operator="=")       QUERY([航空機];[航空機]座席数=$nbOfSeats)     :  ($operator=">")       QUERY([航空機];[航空機]座席数>$nbOfSeats)     :  ($operator="<")       QUERY([航空機];[航空機]座席数<$nbOfSeats)     :($operator=">=")       QUERY([航空機];[航空機]座席数>=$nbOfSeats)     :  ($operator="<=")       QUERY([航空機];[航空機]座席数<=$nbOfSeats)     :  ($operator="#")       QUERY([航空機];[航空機]座席数#$nbOfSeats)   End  case   QUERY([航空機];[航空機]座席数;$operator;$nbOfSeats) Case of : ($operator="=") QUERY([航空機];[航空機]座席数=$nbOfSeats) : ($operator=">") QUERY([航空機];[航空機]座席数>$nbOfSeats) : ($operator="<") QUERY([航空機];[航空機]座席数<$nbOfSeats) :($operator=">=") QUERY([航空機];[航空機]座席数>=$nbOfSeats) : ($operator="<=") QUERY([航空機];[航空機]座席数<=$nbOfSeats) : ($operator="#") QUERY([航空機];[航空機]座席数#$nbOfSeats) End case QUERY([航空機];[航空機]座席数;$operator;$nbOfSeats) Case⽂文の簡略略化 v3以来
  • 59.    //  地域の国を検索索     QUERY([国];[国]地域="欧州")   DISTINCT  VALUES([国]ID;<>id_̲country)      //  その後...      //  史跡を検索索   QUERY([史跡];[史跡]種別="廃墟")   RELATE  ONE  SELECTION([史跡];[都市])      //  地域の史跡を検索索   $nb_̲of_̲country:=Size  of  array(<>id_̲country)   QUERY  SELECTION([都市];[都市]国=<>id_̲country{1};*)   For  ($i;2;$nb_̲of_̲country-‐‑‒1;1)     QUERY  SELECTION([都市];  |  ;[都市]国=<>id_̲country{$i};*)   End  for     QUERY  SELECTION([都市];  |  ;[都市]国=<>id_̲country{$nb_̲of_̲country})    //  地域の国を検索索     QUERY([国];[国]地域="欧州")   DISTINCT  VALUES([国]ID;<>id_̲country)      //  その後...      //  史跡を検索索   QUERY([史跡];[史跡]種別="廃墟")   RELATE  ONE  SELECTION([史跡];[都市])      //  地域の史跡を検索索   $nb_̲of_̲country:=Size  of  array(<>id_̲country)   QUERY  SELECTION([都市];[都市]国=<>id_̲country{1};*)   For  ($i;2;$nb_̲of_̲country-‐‑‒1;1)     QUERY  SELECTION([都市];  |  ;[都市]国=<>id_̲country{$i};*)   End  for     QUERY  SELECTION([都市];  |  ;[都市]国=<>id_̲country{$nb_̲of_̲country}) ループ内でクエリ
  • 60. // 地域の国を検索索 QUERY([国];[国]地域="欧州") DISTINCT VALUES([国]ID;<>id_̲country) // その後... // 史跡を検索索 QUERY([史跡];[史跡]種別="廃墟") RELATE ONE SELECTION([史跡];[都市]) // 地域の史跡を検索索 QUERY SELECTION WITH ARRAY([都市]国;<>id_̲country) ループ内でクエリ
  • 61. // 地域の国を検索索 QUERY([国];[国]地域="欧州") DISTINCT VALUES([国]ID;<>id_̲country) // その後... // 史跡を検索索 QUERY([史跡];[史跡]種別="廃墟") RELATE ONE SELECTION([史跡];[都市]) // 地域の史跡を検索索 QUERY SELECTION WITH ARRAY([都市]国;<>id_̲country) v11以来 ループ内でクエリ
  • 64. QUERY([国];[国]国名="フランス")   RELATE  MANY  SELECTION([都市]国)   RELATE  MANY  SELECTION([飲⾷食店]都市) リレーションとクエリ フランス国内の飲⾷食店すべてが知りたい QUERY([国];[国]国名="フランス") RELATE MANY SELECTION([都市]国) RELATE MANY SELECTION([飲⾷食店]都市)
  • 65. QUERY([国];[国]国名="フランス")   RELATE  MANY  SELECTION([都市]国)   RELATE  MANY  SELECTION([飲⾷食店]都市) QUERY([飲⾷食店];[国]国名="フランス") リレーションとクエリ フランス国内の飲⾷食店すべてが知りたい QUERY([国];[国]国名="フランス") RELATE MANY SELECTION([都市]国) RELATE MANY SELECTION([飲⾷食店]都市) QUERY([飲⾷食店];[国]国名="フランス")
  • 66. QUERY([国];[国]国名="フランス")   RELATE  MANY  SELECTION([都市]国)   RELATE  MANY  SELECTION([飲⾷食店]都市) QUERY([飲⾷食店];[国]国名="フランス") リレーションとクエリ フランス国内の飲⾷食店すべてが知りたい QUERY([国];[国]国名="フランス") RELATE MANY SELECTION([都市]国) RELATE MANY SELECTION([飲⾷食店]都市) QUERY([飲⾷食店];[国]国名="フランス") 3リクエスト
 +3カレントセレクション
  • 67. QUERY([国];[国]国名="フランス")   RELATE  MANY  SELECTION([都市]国)   RELATE  MANY  SELECTION([飲⾷食店]都市) QUERY([飲⾷食店];[国]国名="フランス") リレーションとクエリ フランス国内の飲⾷食店すべてが知りたい QUERY([国];[国]国名="フランス") RELATE MANY SELECTION([都市]国) RELATE MANY SELECTION([飲⾷食店]都市) QUERY([飲⾷食店];[国]国名="フランス") 3リクエスト
 +3カレントセレクション 単⼀一リクエスト
  • 68. QUERY([国];[国]国名="フランス")   RELATE  MANY  SELECTION([都市]国)   RELATE  MANY  SELECTION([飲⾷食店]都市) QUERY([飲⾷食店];[国]国名="フランス") リレーションとクエリ フランス国内の飲⾷食店すべてが知りたい QUERY([国];[国]国名="フランス") RELATE MANY SELECTION([都市]国) RELATE MANY SELECTION([飲⾷食店]都市) QUERY([飲⾷食店];[国]国名="フランス") 3リクエスト
 +3カレントセレクション 単⼀一リクエスト インデックス使⽤用
  • 69. QUERY([国];[国]国名="フランス")   RELATE  MANY  SELECTION([都市]国)   RELATE  MANY  SELECTION([飲⾷食店]都市) QUERY([飲⾷食店];[国]国名="フランス") リレーションとクエリ フランス国内の飲⾷食店すべてが知りたい QUERY([国];[国]国名="フランス") RELATE MANY SELECTION([都市]国) RELATE MANY SELECTION([飲⾷食店]都市) QUERY([飲⾷食店];[国]国名="フランス") 3リクエスト
 +3カレントセレクション 単⼀一リクエスト インデックス使⽤用 カレントセレクションを改変 するのは[飲⾷食店]のみ
  • 70. QUERY([国];[国]国名="フランス")   RELATE  MANY  SELECTION([都市]国)   RELATE  MANY  SELECTION([飲⾷食店]都市) QUERY([飲⾷食店];[国]国名="フランス") リレーションとクエリ フランス国内の飲⾷食店すべてが知りたい v11以来 QUERY([国];[国]国名="フランス") RELATE MANY SELECTION([都市]国) RELATE MANY SELECTION([飲⾷食店]都市) QUERY([飲⾷食店];[国]国名="フランス") 3リクエスト
 +3カレントセレクション 単⼀一リクエスト インデックス使⽤用 カレントセレクションを改変 するのは[飲⾷食店]のみ
  • 73. 複数のリレーションテーブル 名称に『ハウス』が含まれる飲⾷食店,博物館または史跡が所在する都市が知りたい $search:="@ハウス@"   QUERY([飲⾷食店];[飲⾷食店]名称=$search)   RELATE  ONE  SELECTION([飲⾷食店];[都市])   CREATE  SET([都市];"飲⾷食店")   QUERY([博物館];[Museum]Name=$search)   RELATE  ONE  SELECTION([博物館];[都市])   CREATE  SET([都市];"博物館")   QUERY([史跡];[史跡]名称=$search)   RELATE  ONE  SELECTION([史跡];[都市])   CREATE  SET([都市];"史跡")   CREATE  EMPTY  SET([都市];"都市")   UNION("飲⾷食店";"博物館";"都市")   UNION("都市";"史跡";"都市")   USE  SET("都市")   CLEAR  SET("都市")   CLEAR  SET("飲⾷食店")   CLEAR  SET("博物館")   CLEAR  SET("史跡")
  • 74. 複数のリレーションテーブル 名称に『ハウス』が含まれる飲⾷食店,博物館または史跡が所在する都市が知りたい $search QUERY RELATE  ONE  SELECTION CREATE  SET QUERY RELATE  ONE  SELECTION CREATE  SET QUERY RELATE  ONE  SELECTION CREATE  SET CREATE  EMPTY  SET UNION UNION USE  SET CLEAR  SET CLEAR  SET CLEAR  SET CLEAR  SET
  • 75. 複数のリレーションテーブル 名称に『ハウス』が含まれる飲⾷食店,博物館または史跡が所在する都市が知りたい $search QUERY RELATE  ONE  SELECTION CREATE  SET QUERY RELATE  ONE  SELECTION CREATE  SET QUERY RELATE  ONE  SELECTION CREATE  SET CREATE  EMPTY  SET UNION UNION USE  SET CLEAR  SET CLEAR  SET CLEAR  SET CLEAR  SET QUERY([都市];[飲⾷食店]名称=$search;*) QUERY([都市]; | [博物館]名称=$search;*) QUERY([都市]; | [史跡]名称=$search)
  • 76. 複数のリレーションテーブル 名称に『ハウス』が含まれる飲⾷食店,博物館または史跡が所在する都市が知りたい $search QUERY RELATE  ONE  SELECTION CREATE  SET QUERY RELATE  ONE  SELECTION CREATE  SET QUERY RELATE  ONE  SELECTION CREATE  SET CREATE  EMPTY  SET UNION UNION USE  SET CLEAR  SET CLEAR  SET CLEAR  SET CLEAR  SET QUERY([都市];[飲⾷食店]名称=$search;*) QUERY([都市]; | [博物館]名称=$search;*) QUERY([都市]; | [史跡]名称=$search) 単⼀一リクエスト   カレントセレクションを改変するのは[都市]のみ
  • 77. 複数のリレーションテーブル 名称に『ハウス』が含まれる飲⾷食店,博物館または史跡が所在する都市が知りたい $search QUERY RELATE  ONE  SELECTION CREATE  SET QUERY RELATE  ONE  SELECTION CREATE  SET QUERY RELATE  ONE  SELECTION CREATE  SET CREATE  EMPTY  SET UNION UNION USE  SET CLEAR  SET CLEAR  SET CLEAR  SET CLEAR  SET QUERY([都市];[飲⾷食店]名称=$search;*) QUERY([都市]; | [博物館]名称=$search;*) QUERY([都市]; | [史跡]名称=$search) 単⼀一リクエスト   カレントセレクションを改変するのは[都市]のみ v11以来
  • 81. QUERY([史跡];[史跡]種別="廃墟")   CREATE  SET([史跡];"廃墟") USE  SET("廃墟")    //  [史跡]   SELECTION  TO  ARRAY([史跡]都市;$_̲uuid_̲city)   QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city) JOINでクエリ USE SET("廃墟") // [史跡] SELECTION TO ARRAY([史跡]都市;$_̲uuid_̲city) QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city) QUERY([史跡];[史跡]種別="廃墟") CREATE SET([史跡];"廃墟")
  • 82. QUERY([史跡];[史跡]種別="廃墟")   CREATE  SET([史跡];"廃墟") USE  SET("廃墟")    //  [史跡]     DISTINCT  VALUES([史跡]都市;$_̲uuid_̲city)   QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city) USE  SET("廃墟")    //  [史跡]   SELECTION  TO  ARRAY([史跡]都市;$_̲uuid_̲city)   QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city) JOINでクエリ USE SET("廃墟") // [史跡] SELECTION TO ARRAY([史跡]都市;$_̲uuid_̲city) QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city) USE SET("廃墟") // [史跡] DISTINCT VALUES([史跡]都市;$_̲uuid_̲city) QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city) QUERY([史跡];[史跡]種別="廃墟") CREATE SET([史跡];"廃墟")
  • 83. QUERY([史跡];[史跡]種別="廃墟")   CREATE  SET([史跡];"廃墟") USE  SET("廃墟")    //  [史跡]   RELATE  ONE  SELECTION([史跡];[都市]) USE  SET("廃墟")    //  [史跡]     DISTINCT  VALUES([史跡]都市;$_̲uuid_̲city)   QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city) USE  SET("廃墟")    //  [史跡]   SELECTION  TO  ARRAY([史跡]都市;$_̲uuid_̲city)   QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city) JOINでクエリ USE SET("廃墟") // [史跡] SELECTION TO ARRAY([史跡]都市;$_̲uuid_̲city) QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city) USE SET("廃墟") // [史跡] DISTINCT VALUES([史跡]都市;$_̲uuid_̲city) QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city) USE SET("廃墟") // [史跡] RELATE ONE SELECTION([史跡];[都市]) QUERY([史跡];[史跡]種別="廃墟") CREATE SET([史跡];"廃墟")
  • 84. QUERY([史跡];[史跡]種別="廃墟")   CREATE  SET([史跡];"廃墟") USE  SET("廃墟")    //  [史跡]   RELATE  ONE  SELECTION([史跡];[都市]) USE  SET("廃墟")    //  [史跡]     DISTINCT  VALUES([史跡]都市;$_̲uuid_̲city)   QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city) USE  SET("廃墟")    //  [史跡]   SELECTION  TO  ARRAY([史跡]都市;$_̲uuid_̲city)   QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city) JOINでクエリ USE SET("廃墟") // [史跡] SELECTION TO ARRAY([史跡]都市;$_̲uuid_̲city) QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city) USE SET("廃墟") // [史跡] DISTINCT VALUES([史跡]都市;$_̲uuid_̲city) QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city) USE SET("廃墟") // [史跡] RELATE ONE SELECTION([史跡];[都市]) 185,430バイト⼊入⼒力力   236,278バイト出⼒力力   27ミリ秒/サーバー処理理 QUERY([史跡];[史跡]種別="廃墟") CREATE SET([史跡];"廃墟")
  • 85. QUERY([史跡];[史跡]種別="廃墟")   CREATE  SET([史跡];"廃墟") USE  SET("廃墟")    //  [史跡]   RELATE  ONE  SELECTION([史跡];[都市]) USE  SET("廃墟")    //  [史跡]     DISTINCT  VALUES([史跡]都市;$_̲uuid_̲city)   QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city) USE  SET("廃墟")    //  [史跡]   SELECTION  TO  ARRAY([史跡]都市;$_̲uuid_̲city)   QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city) JOINでクエリ USE SET("廃墟") // [史跡] SELECTION TO ARRAY([史跡]都市;$_̲uuid_̲city) QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city) USE SET("廃墟") // [史跡] DISTINCT VALUES([史跡]都市;$_̲uuid_̲city) QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city) USE SET("廃墟") // [史跡] RELATE ONE SELECTION([史跡];[都市]) 185,430バイト⼊入⼒力力   236,278バイト出⼒力力   27ミリ秒/サーバー処理理 35,728バイト⼊入⼒力力   164,874バイト出⼒力力   21ミリ秒/サーバー処理理 QUERY([史跡];[史跡]種別="廃墟") CREATE SET([史跡];"廃墟")
  • 86. QUERY([史跡];[史跡]種別="廃墟")   CREATE  SET([史跡];"廃墟") USE  SET("廃墟")    //  [史跡]   RELATE  ONE  SELECTION([史跡];[都市]) USE  SET("廃墟")    //  [史跡]     DISTINCT  VALUES([史跡]都市;$_̲uuid_̲city)   QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city) USE  SET("廃墟")    //  [史跡]   SELECTION  TO  ARRAY([史跡]都市;$_̲uuid_̲city)   QUERY  WITH  ARRAY([都市]ID;$_̲uuid_̲city) JOINでクエリ USE SET("廃墟") // [史跡] SELECTION TO ARRAY([史跡]都市;$_̲uuid_̲city) QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city) USE SET("廃墟") // [史跡] DISTINCT VALUES([史跡]都市;$_̲uuid_̲city) QUERY WITH ARRAY([都市]ID;$_̲uuid_̲city) USE SET("廃墟") // [史跡] RELATE ONE SELECTION([史跡];[都市]) 185,430バイト⼊入⼒力力   236,278バイト出⼒力力   27ミリ秒/サーバー処理理 35,728バイト⼊入⼒力力   164,874バイト出⼒力力   21ミリ秒/サーバー処理理 166バイト⼊入⼒力力   4,800バイト出⼒力力   2ミリ秒/サーバー処理理 QUERY([史跡];[史跡]種別="廃墟") CREATE SET([史跡];"廃墟")
  • 89. QUERY([航空会社];[航空会社]名称="American  Airlines@")   RELATE  MANY  SELECTION([フライト]ID_̲Airline)   QUERY  SELECTION([フライト];[フライト]⽬目的地="San  Francisco@")   RELATE  ONE  SELECTION([フライト];[航空機]) QUERY([航空会社];[航空会社]名称="American Airlines@") San  Franciscoに到着するAmerican  Airline社の航空機すべてが知りたい JOINでクエリ
  • 90. QUERY([航空会社];[航空会社]名称="American  Airlines@")   RELATE  MANY  SELECTION([フライト]ID_̲Airline)   QUERY  SELECTION([フライト];[フライト]⽬目的地="San  Francisco@")   RELATE  ONE  SELECTION([フライト];[航空機]) QUERY([航空会社];[航空会社]名称="American Airlines@") RELATE MANY SELECTION([フライト]航空会社) San  Franciscoに到着するAmerican  Airline社の航空機すべてが知りたい JOINでクエリ
  • 91. QUERY([航空会社];[航空会社]名称="American  Airlines@")   RELATE  MANY  SELECTION([フライト]ID_̲Airline)   QUERY  SELECTION([フライト];[フライト]⽬目的地="San  Francisco@")   RELATE  ONE  SELECTION([フライト];[航空機]) QUERY([航空会社];[航空会社]名称="American Airlines@") RELATE MANY SELECTION([フライト]航空会社) QUERY SELECTION([フライト];[フライト]⽬目的地="San Francisco@") San  Franciscoに到着するAmerican  Airline社の航空機すべてが知りたい JOINでクエリ
  • 92. QUERY([航空会社];[航空会社]名称="American  Airlines@")   RELATE  MANY  SELECTION([フライト]ID_̲Airline)   QUERY  SELECTION([フライト];[フライト]⽬目的地="San  Francisco@")   RELATE  ONE  SELECTION([フライト];[航空機]) QUERY([航空会社];[航空会社]名称="American Airlines@") RELATE MANY SELECTION([フライト]航空会社) QUERY SELECTION([フライト];[フライト]⽬目的地="San Francisco@") RELATE ONE SELECTION([フライト];[航空機]) San  Franciscoに到着するAmerican  Airline社の航空機すべてが知りたい JOINでクエリ
  • 93. QUERY([航空会社];[航空会社]名称="American  Airlines@")   RELATE  MANY  SELECTION([フライト]ID_̲Airline)   QUERY  SELECTION([フライト];[フライト]⽬目的地="San  Francisco@")   RELATE  ONE  SELECTION([フライト];[航空機]) QUERY  BY  FORMULA([航空機];     ([航空会社]名称="American  Airlines@")      &  ([フライト]⽬目的地="San  Francisco@")      &  ([航空会社]ID=[フライト]航空会社)      &  ([フライト]航空機=[航空機]ID)) QUERY([航空会社];[航空会社]名称="American Airlines@") RELATE MANY SELECTION([フライト]航空会社) QUERY SELECTION([フライト];[フライト]⽬目的地="San Francisco@") RELATE ONE SELECTION([フライト];[航空機]) QUERY BY FORMULA([航空機]; ([航空会社]名称="American Airlines@") & ([フライト]⽬目的地="San Francisco@") & ([航空会社]ID=[フライト]航空会社) & ([フライト]航空機=[航空機]ID)) San  Franciscoに到着するAmerican  Airline社の航空機すべてが知りたい JOINでクエリ
  • 98. QUERY  BY  FORMULA v11の最重要な変更更点のひとつ。変換データベースでは有効化しなければならない。 SET  DATABASE  PARAMETER(Query  by  formula  joins;2) 新規データベースはデフォルトで有効  (>11.2)
  • 99. QUERY  BY  FORMULA v11の最重要な変更更点のひとつ。変換データベースでは有効化しなければならない。 SET  DATABASE  PARAMETER(Query  by  formula  joins;2) 新規データベースはデフォルトで有効  (>11.2) v11以来
  • 103. QUERY([Hotel];[Hotel]UUID_̲Hotel_̲Chain=[Hotel_̲Chain]UUID)   DISTINCT  VALUES([Hotel]UUID;$_̲uuid)   QUERY  WITH  ARRAY([Hotel_̲Room]UUID_̲Hotel;$_̲uuid) QUERY([系列列];[系列列]名称="Marriott") QUERY  BY  FORMULA QUERY([系列列];[系列列]名称="Marriott") QUERY([ホテル];[ホテル]系列列=[系列列]ID) DISTINCT VALUES([ホテル]ID;$_̲uuid) QUERY WITH ARRAY([客室]ホテル;$_̲uuid)
  • 104. QUERY([Hotel];[Hotel]UUID_̲Hotel_̲Chain=[Hotel_̲Chain]UUID)   DISTINCT  VALUES([Hotel]UUID;$_̲uuid)   QUERY  WITH  ARRAY([Hotel_̲Room]UUID_̲Hotel;$_̲uuid) QUERY([系列列];[系列列]名称="Marriott") QUERY  BY  FORMULA QUERY([系列列];[系列列]名称="Marriott") QUERY([ホテル];[ホテル]系列列=[系列列]ID) DISTINCT VALUES([ホテル]ID;$_̲uuid) QUERY WITH ARRAY([客室]ホテル;$_̲uuid) 検索索条件
  • 105. QUERY([Hotel];[Hotel]UUID_̲Hotel_̲Chain=[Hotel_̲Chain]UUID)   DISTINCT  VALUES([Hotel]UUID;$_̲uuid)   QUERY  WITH  ARRAY([Hotel_̲Room]UUID_̲Hotel;$_̲uuid) QUERY  BY  FORMULA([客室];     ([ホテル]系列列=[系列列]ID)       &  ([客室]ホテル=[ホテル]ID)) QUERY([系列列];[系列列]名称="Marriott") QUERY  BY  FORMULA QUERY([系列列];[系列列]名称="Marriott") QUERY([ホテル];[ホテル]系列列=[系列列]ID) DISTINCT VALUES([ホテル]ID;$_̲uuid) QUERY WITH ARRAY([客室]ホテル;$_̲uuid) QUERY BY FORMULA([客室]; ([ホテル]系列列=[系列列]ID) & ([客室]ホテル=[ホテル]ID)) 検索索条件
  • 106. QUERY([Hotel];[Hotel]UUID_̲Hotel_̲Chain=[Hotel_̲Chain]UUID)   DISTINCT  VALUES([Hotel]UUID;$_̲uuid)   QUERY  WITH  ARRAY([Hotel_̲Room]UUID_̲Hotel;$_̲uuid) QUERY  BY  FORMULA([客室];     ([ホテル]系列列=[系列列]ID)       &  ([客室]ホテル=[ホテル]ID)) QUERY([系列列];[系列列]名称="Marriott") QUERY  BY  FORMULA QUERY([系列列];[系列列]名称="Marriott") QUERY([ホテル];[ホテル]系列列=[系列列]ID) DISTINCT VALUES([ホテル]ID;$_̲uuid) QUERY WITH ARRAY([客室]ホテル;$_̲uuid) QUERY BY FORMULA([客室]; ([ホテル]系列列=[系列列]ID) & ([客室]ホテル=[ホテル]ID)) JOIN定義 検索索条件
  • 107. QUERY([Hotel];[Hotel]UUID_̲Hotel_̲Chain=[Hotel_̲Chain]UUID)   DISTINCT  VALUES([Hotel]UUID;$_̲uuid)   QUERY  WITH  ARRAY([Hotel_̲Room]UUID_̲Hotel;$_̲uuid) QUERY  BY  FORMULA([客室];     ([ホテル]系列列=[系列列]ID)       &  ([客室]ホテル=[ホテル]ID)) QUERY([系列列];[系列列]名称="Marriott") QUERY  BY  FORMULA QUERY([系列列];[系列列]名称="Marriott") QUERY([ホテル];[ホテル]系列列=[系列列]ID) DISTINCT VALUES([ホテル]ID;$_̲uuid) QUERY WITH ARRAY([客室]ホテル;$_̲uuid) QUERY BY FORMULA([客室]; ([ホテル]系列列=[系列列]ID) & ([客室]ホテル=[ホテル]ID)) JOIN定義 DESCRIBE  QUERY  EXECUTIONが 何も返さない 検索索条件
  • 108. QUERY([Hotel];[Hotel]UUID_̲Hotel_̲Chain=[Hotel_̲Chain]UUID)   DISTINCT  VALUES([Hotel]UUID;$_̲uuid)   QUERY  WITH  ARRAY([Hotel_̲Room]UUID_̲Hotel;$_̲uuid) QUERY  BY  FORMULA([客室];     ([ホテル]系列列=[系列列]ID)       &  ([客室]ホテル=[ホテル]ID)) $uuid_̲chain:=[系列列]ID   QUERY  BY  FORMULA([客室];     ([ホテル]系列列=$uuid_̲chain)       &  ([客室]ホテル=[ホテル]ID)) QUERY([系列列];[系列列]名称="Marriott") QUERY  BY  FORMULA QUERY([系列列];[系列列]名称="Marriott") QUERY([ホテル];[ホテル]系列列=[系列列]ID) DISTINCT VALUES([ホテル]ID;$_̲uuid) QUERY WITH ARRAY([客室]ホテル;$_̲uuid) QUERY BY FORMULA([客室]; ([ホテル]系列列=[系列列]ID) & ([客室]ホテル=[ホテル]ID)) JOIN定義 $uuid_̲chain:=[系列列]ID QUERY BY FORMULA([客室]; ([ホテル]系列列=$uuid_̲chain) & ([客室]ホテル=[ホテル]ID)) DESCRIBE  QUERY  EXECUTIONが 何も返さない 検索索条件
  • 109. QUERY([Hotel];[Hotel]UUID_̲Hotel_̲Chain=[Hotel_̲Chain]UUID)   DISTINCT  VALUES([Hotel]UUID;$_̲uuid)   QUERY  WITH  ARRAY([Hotel_̲Room]UUID_̲Hotel;$_̲uuid) QUERY  BY  FORMULA([客室];     ([ホテル]系列列=[系列列]ID)       &  ([客室]ホテル=[ホテル]ID)) $uuid_̲chain:=[系列列]ID   QUERY  BY  FORMULA([客室];     ([ホテル]系列列=$uuid_̲chain)       &  ([客室]ホテル=[ホテル]ID)) QUERY([系列列];[系列列]名称="Marriott") QUERY  BY  FORMULA QUERY([系列列];[系列列]名称="Marriott") QUERY([ホテル];[ホテル]系列列=[系列列]ID) DISTINCT VALUES([ホテル]ID;$_̲uuid) QUERY WITH ARRAY([客室]ホテル;$_̲uuid) QUERY BY FORMULA([客室]; ([ホテル]系列列=[系列列]ID) & ([客室]ホテル=[ホテル]ID)) JOIN定義 $uuid_̲chain:=[系列列]ID QUERY BY FORMULA([客室]; ([ホテル]系列列=$uuid_̲chain) & ([客室]ホテル=[ホテル]ID)) 検索索条件 DESCRIBE  QUERY  EXECUTIONが 何も返さない DESCRIBE  QUERY  EXECUTIONで 有効なパスが返される 検索索条件
  • 112. QUERY([空港];[空港]IATAコード="SFO")   RELATE  MANY  SELECTION([便便名]到着空港)   RELATE  MANY  SELECTION([フライト]便便名) 複数の経路路 San  Franciscoに到着するフライトすべてが知りたい QUERY([空港];[空港]IATAコード="SFO")
  • 113. QUERY([空港];[空港]IATAコード="SFO")   RELATE  MANY  SELECTION([便便名]到着空港)   RELATE  MANY  SELECTION([フライト]便便名) 複数の経路路 San  Franciscoに到着するフライトすべてが知りたい QUERY([空港];[空港]IATAコード="SFO") RELATE MANY SELECTION([便便名]到着空港)
  • 114. QUERY([空港];[空港]IATAコード="SFO")   RELATE  MANY  SELECTION([便便名]到着空港)   RELATE  MANY  SELECTION([フライト]便便名) 複数の経路路 San  Franciscoに到着するフライトすべてが知りたい QUERY([空港];[空港]IATAコード="SFO") RELATE MANY SELECTION([便便名]到着空港) RELATE MANY SELECTION([フライト]便便名)
  • 115. QUERY([フライト];[空港]IATAコード="SFO") QUERY([空港];[空港]IATAコード="SFO")   RELATE  MANY  SELECTION([便便名]到着空港)   RELATE  MANY  SELECTION([フライト]便便名) 複数の経路路 San  Franciscoに到着するフライトすべてが知りたい QUERY([空港];[空港]IATAコード="SFO") RELATE MANY SELECTION([便便名]到着空港) RELATE MANY SELECTION([フライト]便便名) QUERY([フライト];[空港]IATAコード="SFO")
  • 116. QUERY([フライト];[空港]IATAコード="SFO") QUERY([空港];[空港]IATAコード="SFO")   RELATE  MANY  SELECTION([便便名]到着空港)   RELATE  MANY  SELECTION([フライト]便便名) 複数の経路路 San  Franciscoに到着するフライトすべてが知りたい QUERY([空港];[空港]IATAコード="SFO") RELATE MANY SELECTION([便便名]到着空港) RELATE MANY SELECTION([フライト]便便名) QUERY([フライト];[空港]IATAコード="SFO")
  • 117. QUERY([フライト]; QUERY([フライト];[空港]IATAコード="SFO") QUERY([空港];[空港]IATAコード="SFO")   RELATE  MANY  SELECTION([便便名]到着空港)   RELATE  MANY  SELECTION([フライト]便便名) 複数の経路路 San  Franciscoに到着するフライトすべてが知りたい QUERY([空港];[空港]IATAコード="SFO") RELATE MANY SELECTION([便便名]到着空港) RELATE MANY SELECTION([フライト]便便名) QUERY([フライト]; QUERY([フライト];[空港]IATAコード="SFO")
  • 118. QUERY([フライト];[空港]IATAコード="SFO") QUERY([空港];[空港]IATAコード="SFO")   RELATE  MANY  SELECTION([便便名]到着空港)   RELATE  MANY  SELECTION([フライト]便便名) 複数の経路路 San  Franciscoに到着するフライトすべてが知りたい QUERY([空港];[空港]IATAコード="SFO") RELATE MANY SELECTION([便便名]到着空港) RELATE MANY SELECTION([フライト]便便名) QUERY  BY  FORMULA([フライト]; QUERY([フライト];[空港]IATAコード="SFO") QUERY  BY  FORMULA([フライト];
  • 119. QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO") QUERY([フライト];[空港]IATAコード="SFO") QUERY([空港];[空港]IATAコード="SFO")   RELATE  MANY  SELECTION([便便名]到着空港)   RELATE  MANY  SELECTION([フライト]便便名) 複数の経路路 San  Franciscoに到着するフライトすべてが知りたい QUERY([空港];[空港]IATAコード="SFO") RELATE MANY SELECTION([便便名]到着空港) RELATE MANY SELECTION([フライト]便便名) QUERY([フライト];[空港]IATAコード="SFO") QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")
  • 120. QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO") QUERY([フライト];[空港]IATAコード="SFO") QUERY([空港];[空港]IATAコード="SFO")   RELATE  MANY  SELECTION([便便名]到着空港)   RELATE  MANY  SELECTION([フライト]便便名) 複数の経路路 San  Franciscoに到着するフライトすべてが知りたい QUERY([空港];[空港]IATAコード="SFO") RELATE MANY SELECTION([便便名]到着空港) RELATE MANY SELECTION([フライト]便便名) QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")       &  ([フライト]便便名=[便便名]ID) QUERY([フライト];[空港]IATAコード="SFO") QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")       &  ([フライト]便便名=[便便名]ID)
  • 121. QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO") QUERY([フライト];[空港]IATAコード="SFO") QUERY([空港];[空港]IATAコード="SFO")   RELATE  MANY  SELECTION([便便名]到着空港)   RELATE  MANY  SELECTION([フライト]便便名) 複数の経路路 San  Franciscoに到着するフライトすべてが知りたい QUERY([空港];[空港]IATAコード="SFO") RELATE MANY SELECTION([便便名]到着空港) RELATE MANY SELECTION([フライト]便便名) QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")       &  ([フライト]便便名=[便便名]ID) QUERY([フライト];[空港]IATAコード="SFO") QUERY BY FORMULA([フライト];([空港]IATAコード="SFO") & ([フライト]便便名=[便便名]ID) & ([便便名]到着空港=[空港]ID))
  • 122. QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO") QUERY([フライト];[空港]IATAコード="SFO") QUERY([空港];[空港]IATAコード="SFO")   RELATE  MANY  SELECTION([便便名]到着空港)   RELATE  MANY  SELECTION([フライト]便便名) 複数の経路路 San  Franciscoに到着するフライトすべてが知りたい QUERY([空港];[空港]IATAコード="SFO") RELATE MANY SELECTION([便便名]到着空港) RELATE MANY SELECTION([フライト]便便名) QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")       &  ([フライト]便便名=[便便名]ID) QUERY([フライト];[空港]IATAコード="SFO") QUERY BY FORMULA([フライト];([空港]IATAコード="SFO") & ([フライト]便便名=[便便名]ID) & ([便便名]到着空港=[空港]ID)) 3リクエスト
  • 123. QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO") QUERY([フライト];[空港]IATAコード="SFO") QUERY([空港];[空港]IATAコード="SFO")   RELATE  MANY  SELECTION([便便名]到着空港)   RELATE  MANY  SELECTION([フライト]便便名) 複数の経路路 San  Franciscoに到着するフライトすべてが知りたい QUERY([空港];[空港]IATAコード="SFO") RELATE MANY SELECTION([便便名]到着空港) RELATE MANY SELECTION([フライト]便便名) QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")       &  ([フライト]便便名=[便便名]ID) QUERY([フライト];[空港]IATAコード="SFO") QUERY BY FORMULA([フライト];([空港]IATAコード="SFO") & ([フライト]便便名=[便便名]ID) & ([便便名]到着空港=[空港]ID)) 3リクエスト 単⼀一リクエスト
  • 124. QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO") QUERY([フライト];[空港]IATAコード="SFO") QUERY([空港];[空港]IATAコード="SFO")   RELATE  MANY  SELECTION([便便名]到着空港)   RELATE  MANY  SELECTION([フライト]便便名) 複数の経路路 San  Franciscoに到着するフライトすべてが知りたい QUERY([空港];[空港]IATAコード="SFO") RELATE MANY SELECTION([便便名]到着空港) RELATE MANY SELECTION([フライト]便便名) QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")       &  ([フライト]便便名=[便便名]ID) QUERY([フライト];[空港]IATAコード="SFO") QUERY BY FORMULA([フライト];([空港]IATAコード="SFO") & ([フライト]便便名=[便便名]ID) & ([便便名]到着空港=[空港]ID)) 3リクエスト 単⼀一リクエスト v11以来
  • 125. 経路路を検証するには? QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")       &  ([フライト]便便名=[便便名]ID)  &  ([便便名]到着空港=[空港]ID))
  • 126. 経路路を検証するには? QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")       &  ([フライト]便便名=[便便名]ID)  &  ([便便名]到着空港=[空港]ID)) DESCRIBE QUERY EXECUTION(True)
  • 127. 経路路を検証するには? QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")       &  ([フライト]便便名=[便便名]ID)  &  ([便便名]到着空港=[空港]ID)) DESCRIBE QUERY EXECUTION(True) DESCRIBE QUERY EXECUTION(False)
  • 128. 経路路を検証するには? QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")       &  ([フライト]便便名=[便便名]ID)  &  ([便便名]到着空港=[空港]ID)) DESCRIBE QUERY EXECUTION(True) DESCRIBE QUERY EXECUTION(False) $path:=Get last query path(Description  in  text  format) SET TEXT TO PASTEBOARD($path)
  • 129. 経路路を検証するには? QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")       &  ([フライト]便便名=[便便名]ID)  &  ([便便名]到着空港=[空港]ID)) DESCRIBE QUERY EXECUTION(True) DESCRIBE QUERY EXECUTION(False) $path:=Get last query path(Description  in  text  format) SET TEXT TO PASTEBOARD($path)        Join  on  Table  :  Line    :    フライト.便便名  =  便便名.ID                                          Join  on  Table  :  空港    :    便便名.到着空港  =  空港.ID                                                                          [index  :  空港.IATAコード]  =  SFO      (1  record  found  in  0  ms)                          -‐‑‒-‐‑‒>  142  records  found  in  0  ms          -‐‑‒-‐‑‒>  442  records  found  in  4  ms        Join  on  Table  :  Line    :    フライト.便便名  =  便便名.ID                                          Join  on  Table  :  空港    :    便便名.到着空港  =  空港.ID                                                                          [index  :  空港.IATAコード]  =  SFO      (1  record  found  in  0  ms)                          -‐‑‒-‐‑‒>  142  records  found  in  0  ms          -‐‑‒-‐‑‒>  442  records  found  in  4  ms
  • 130. 経路路を検証するには? QUERY  BY  FORMULA([フライト];([空港]IATAコード="SFO")       &  ([フライト]便便名=[便便名]ID)  &  ([便便名]到着空港=[空港]ID)) DESCRIBE QUERY EXECUTION(True) DESCRIBE QUERY EXECUTION(False) $path:=Get last query path(Description  in  text  format) SET TEXT TO PASTEBOARD($path)        Join  on  Table  :  Line    :    フライト.便便名  =  便便名.ID                                          Join  on  Table  :  空港    :    便便名.到着空港  =  空港.ID                                                                          [index  :  空港.IATAコード]  =  SFO      (1  record  found  in  0  ms)                          -‐‑‒-‐‑‒>  142  records  found  in  0  ms          -‐‑‒-‐‑‒>  442  records  found  in  4  ms v11以来        Join  on  Table  :  Line    :    フライト.便便名  =  便便名.ID                                          Join  on  Table  :  空港    :    便便名.到着空港  =  空港.ID                                                                          [index  :  空港.IATAコード]  =  SFO      (1  record  found  in  0  ms)                          -‐‑‒-‐‑‒>  142  records  found  in  0  ms          -‐‑‒-‐‑‒>  442  records  found  in  4  ms
  • 137. セレクションから配列列に SELECTION  TO  ARRAY([フライト]出発地;$出発地;     [フライト]To;$⽬目的地;     [フライト]航空機;$航空機ID;     [フライト]航空会社;$航空会社ID)   $nb:=Size  of  array($⽬目的地)   ARRAY  TEXT($航空機;$nb)   ARRAY  TEXT($航空会社;$nb)   For  ($i;1;$nb;1)     QUERY([航空機];[航空機]ID=$航空機ID{$i})     $航空機{$i}:=[航空会社]名称     QUERY([航空会社];[航空会社]ID=$航空会社ID{$i})     $航空会社{$i}:=[航空会社]名称   End  for  
  • 138. セレクションから配列列に SELECTION  TO  ARRAY([フライト]出発地;$出発地;     [フライト]To;$⽬目的地;     [フライト]航空機;$航空機ID;     [フライト]航空会社;$航空会社ID)   $nb:=Size  of  array($⽬目的地)   ARRAY  TEXT($航空機;$nb)   ARRAY  TEXT($航空会社;$nb)   For  ($i;1;$nb;1)     QUERY([航空機];[航空機]ID=$航空機ID{$i})     $航空機{$i}:=[航空会社]名称     QUERY([航空会社];[航空会社]ID=$航空会社ID{$i})     $航空会社{$i}:=[航空会社]名称   End  for   ループ内で無数のリクエストが発⽣生
  • 139. セレクションから配列列に SELECTION  TO  ARRAY([フライト]出発地;$出発地;
   [フライト]⽬目的地;$⽬目的地;     [フライト]航空機;$航空機ID;     [フライト]航空会社;$航空会社ID;     [航空機]名称;$航空機;     [航空会社]名称;$航空会社)
  • 140. セレクションから配列列に SELECTION  TO  ARRAY([フライト]出発地;$出発地;
   [フライト]⽬目的地;$⽬目的地;     [フライト]航空機;$航空機ID;     [フライト]航空会社;$航空会社ID;     [航空機]名称;$航空機;     [航空会社]名称;$航空会社) ⾃自動リレーションが必要
  • 141. セレクションから配列列に SET  AUTOMATIC  RELATIONS(True)   SELECTION  TO  ARRAY([フライト]出発地;$出発地;
   [フライト]⽬目的地;$⽬目的地;     [フライト]航空機;$航空機ID;     [フライト]航空会社;$航空会社ID;     [航空機]名称;$航空機;     [航空会社]名称;$航空会社)   SET  AUTOMATIC  RELATIONS(False)  
  • 142. セレクションから配列列に SET  AUTOMATIC  RELATIONS(True)   SELECTION  TO  ARRAY([フライト]出発地;$出発地;
   [フライト]⽬目的地;$⽬目的地;     [フライト]航空機;$航空機ID;     [フライト]航空会社;$航空会社ID;     [航空機]名称;$航空機;     [航空会社]名称;$航空会社)   SET  AUTOMATIC  RELATIONS(False)   すべてのリレーションが ⾃自動である必要はない
  • 143. セレクションから配列列に SET FIELD RELATION([フライト]航空機;Automatic;Do  not  modify) SET FIELD RELATION([フライト]航空会社;Automatic;Do  not  modify) SELECTION TO ARRAY([フライト]出発地;$出発地; [フライト]⽬目的地;$⽬目的地; [フライト]航空機;$航空機ID; [フライト]航空会社;$航空会社ID; [航空機]名称;$航空機; [航空会社]名称;$航空会社) SET FIELD RELATION([フライト]航空機;Structure  configuration; Do  not  modify) SET FIELD RELATION([フライト]航空会社;Structure  configuration; Do  not  modify)
  • 144. セレクションから配列列に SET FIELD RELATION([フライト]航空機;Automatic;Do  not  modify) SET FIELD RELATION([フライト]航空会社;Automatic;Do  not  modify) SELECTION TO ARRAY([フライト]出発地;$出発地; [フライト]⽬目的地;$⽬目的地; [フライト]航空機;$航空機ID; [フライト]航空会社;$航空会社ID; [航空機]名称;$航空機; [航空会社]名称;$航空会社) SET FIELD RELATION([フライト]航空機;Structure  configuration; Do  not  modify) SET FIELD RELATION([フライト]航空会社;Structure  configuration; Do  not  modify) 2004以来
  • 146. SET  FIELD  RELATION • 必要なコマンド   • SELECTION  TO  ARRAY   • ORDER  BY




  • 147. SET  FIELD  RELATION • 必要なコマンド   • SELECTION  TO  ARRAY   • ORDER  BY



 • 不不要なコマンド   • QUERY
  • 148. SET  FIELD  RELATION • 必要なコマンド   • SELECTION  TO  ARRAY   • ORDER  BY



 • 不不要なコマンド   • QUERY
  • 151. 冗⻑⾧長なデータ処理理 CREATE EMPTY SET([国];"国") While (Not(End selection([都市]))) LOAD RECORD([都市]) RELATE ONE([都市]国ID) ADD TO SET([国];"国") NEXT RECORD([都市]) End while USE SET("国") CLEAR SET("国") QUERY([都市];[都市]標⾼高>1000)
  • 152. 冗⻑⾧長なデータ処理理 CREATE EMPTY SET([国];"国") While (Not(End selection([都市]))) LOAD RECORD([都市]) RELATE ONE([都市]国ID) ADD TO SET([国];"国") NEXT RECORD([都市]) End while USE SET("国") CLEAR SET("国") クエリを実⾏行行
 先頭レコードをロード QUERY([都市];[都市]標⾼高>1000)
  • 153. 冗⻑⾧長なデータ処理理 CREATE EMPTY SET([国];"国") While (Not(End selection([都市]))) LOAD RECORD([都市]) RELATE ONE([都市]国ID) ADD TO SET([国];"国") NEXT RECORD([都市]) End while USE SET("国") CLEAR SET("国") クエリを実⾏行行
 先頭レコードをロード カレントレコードを再ロード QUERY([都市];[都市]標⾼高>1000)
  • 154. 冗⻑⾧長なデータ処理理 CREATE EMPTY SET([国];"国") While (Not(End selection([都市]))) LOAD RECORD([都市]) RELATE ONE([都市]国ID) ADD TO SET([国];"国") NEXT RECORD([都市]) End while USE SET("国") CLEAR SET("国") カレントレコードをアンロード
 次レコードをロード QUERY([都市];[都市]標⾼高>1000)
  • 155. 冗⻑⾧長なデータ処理理 CREATE EMPTY SET([国];"国") While (Not(End selection([都市]))) LOAD RECORD([都市]) RELATE ONE([都市]国ID) ADD TO SET([国];"国") NEXT RECORD([都市]) End while USE SET("国") CLEAR SET("国") カレントレコードをアンロード
 次レコードをロード カレントレコードを再ロードQUERY([都市];[都市]標⾼高>1000)
  • 156. 冗⻑⾧長なデータ処理理 CREATE EMPTY SET([国];"国") While (Not(End selection([都市]))) LOAD RECORD([都市]) RELATE ONE([都市]国ID) ADD TO SET([国];"国") NEXT RECORD([都市]) End while USE SET("国") CLEAR SET("国") これ全部と同等のことを⼀一発で  
 RELATE  ONE  SELECTION QUERY([都市];[都市]標⾼高>1000)
  • 157. 冗⻑⾧長なデータ処理理 CREATE EMPTY SET([国];"国") While (Not(End selection([都市]))) LOAD RECORD([都市]) RELATE ONE([都市]国ID) ADD TO SET([国];"国") NEXT RECORD([都市]) End while USE SET("国") CLEAR SET("国") これ全部と同等のことを⼀一発で  
 RELATE  ONE  SELECTION QUERY([都市];[都市]標⾼高>1000)
  • 159. QUERY([都市];[都市]標⾼高>1000)   FIRST  RECORD([都市])   ORDER  BY([都市];[都市]標⾼高)   FIRST  RECORD([City]) 無駄な処理理 QUERY([都市];[都市]標⾼高>1000) FIRST RECORD([都市]) ORDER BY([都市];[都市]標⾼高) FIRST RECORD([都市])
  • 160. QUERY([都市];[都市]標⾼高>1000)   FIRST  RECORD([都市])   ORDER  BY([都市];[都市]標⾼高)   FIRST  RECORD([City]) 無駄な処理理 QUERY([都市];[都市]標⾼高>1000) FIRST RECORD([都市]) ORDER BY([都市];[都市]標⾼高) FIRST RECORD([都市]) クエリを実⾏行行
 先頭レコードをロード
  • 161. QUERY([都市];[都市]標⾼高>1000)   FIRST  RECORD([都市])   ORDER  BY([都市];[都市]標⾼高)   FIRST  RECORD([City]) 無駄な処理理 QUERY([都市];[都市]標⾼高>1000) FIRST RECORD([都市]) ORDER BY([都市];[都市]標⾼高) FIRST RECORD([都市]) クエリを実⾏行行
 先頭レコードをロード 先頭レコードを再ロード
  • 162. QUERY([都市];[都市]標⾼高>1000)   FIRST  RECORD([都市])   ORDER  BY([都市];[都市]標⾼高)   FIRST  RECORD([City]) 無駄な処理理 QUERY([都市];[都市]標⾼高>1000) FIRST RECORD([都市]) ORDER BY([都市];[都市]標⾼高) FIRST RECORD([都市]) クエリを実⾏行行
 先頭レコードをロード 先頭レコードを再ロード 並び替えを実⾏行行
 先頭レコードをロード
  • 163. QUERY([都市];[都市]標⾼高>1000)   FIRST  RECORD([都市])   ORDER  BY([都市];[都市]標⾼高)   FIRST  RECORD([City]) 無駄な処理理 QUERY([都市];[都市]標⾼高>1000) FIRST RECORD([都市]) ORDER BY([都市];[都市]標⾼高) FIRST RECORD([都市]) クエリを実⾏行行
 先頭レコードをロード 先頭レコードを再ロード 並び替えを実⾏行行
 先頭レコードをロード 先頭レコードを再ロード
  • 164. QUERY([都市];[都市]標⾼高>1000)   FIRST  RECORD([都市])   ORDER  BY([都市];[都市]標⾼高)   FIRST  RECORD([City]) 無駄な処理理 QUERY([都市];[都市]標⾼高>1000) FIRST RECORD([都市]) ORDER BY([都市];[都市]標⾼高) FIRST RECORD([都市]) クエリを実⾏行行
 先頭レコードをロード 先頭レコードを再ロード 並び替えを実⾏行行
 先頭レコードをロード 先頭レコードを再ロード
  • 166. QUERY([都市];[都市]標⾼高>1000)   FIRST  RECORD([都市])   READ  WRITE([都市])   LOAD  RECORD([都市]) 出鱈⽬目なコマンドの実⾏行行順序 QUERY([都市];[都市]標⾼高>1000) FIRST RECORD([都市]) READ WRITE([都市]) LOAD RECORD([都市])
  • 167. QUERY([都市];[都市]標⾼高>1000)   FIRST  RECORD([都市])   READ  WRITE([都市])   LOAD  RECORD([都市]) 出鱈⽬目なコマンドの実⾏行行順序 QUERY([都市];[都市]標⾼高>1000) FIRST RECORD([都市]) READ WRITE([都市]) LOAD RECORD([都市]) クエリを実⾏行行
 先頭レコードをロード
  • 168. QUERY([都市];[都市]標⾼高>1000)   FIRST  RECORD([都市])   READ  WRITE([都市])   LOAD  RECORD([都市]) 出鱈⽬目なコマンドの実⾏行行順序 QUERY([都市];[都市]標⾼高>1000) FIRST RECORD([都市]) READ WRITE([都市]) LOAD RECORD([都市]) クエリを実⾏行行
 先頭レコードをロード 先頭レコードを再ロード
  • 169. QUERY([都市];[都市]標⾼高>1000)   FIRST  RECORD([都市])   READ  WRITE([都市])   LOAD  RECORD([都市]) 出鱈⽬目なコマンドの実⾏行行順序 QUERY([都市];[都市]標⾼高>1000) FIRST RECORD([都市]) READ WRITE([都市]) LOAD RECORD([都市]) クエリを実⾏行行
 先頭レコードをロード 先頭レコードを再ロード アクセスモードを変更更
  • 170. QUERY([都市];[都市]標⾼高>1000)   FIRST  RECORD([都市])   READ  WRITE([都市])   LOAD  RECORD([都市]) 出鱈⽬目なコマンドの実⾏行行順序 QUERY([都市];[都市]標⾼高>1000) FIRST RECORD([都市]) READ WRITE([都市]) LOAD RECORD([都市]) クエリを実⾏行行
 先頭レコードをロード 先頭レコードを再ロード アクセスモードを変更更 先頭レコードを再ロード
  • 171. QUERY([都市];[都市]標⾼高>1000)   FIRST  RECORD([都市])   READ  WRITE([都市])   LOAD  RECORD([都市]) READ  WRITE([都市])   QUERY([都市];[都市]標⾼高>1000) 出鱈⽬目なコマンドの実⾏行行順序 QUERY([都市];[都市]標⾼高>1000) FIRST RECORD([都市]) READ WRITE([都市]) LOAD RECORD([都市]) クエリを実⾏行行
 先頭レコードをロード 先頭レコードを再ロード アクセスモードを変更更 先頭レコードを再ロード READ WRITE([都市]) QUERY([都市];[都市]標⾼高>1000)
  • 173. QUERY([都市];[都市]⼈人⼝口>100000)   While  (Not(End  selection([都市])))     Load_̲Record  (-‐‑‒>[都市])     [都市]名称:=Uppercase([都市]名称)     SAVE  RECORD([都市])     UnLoad_̲Record  (-‐‑‒>[都市])     NEXT  RECORD([都市])   End  while   無意味な汎⽤用メソッド QUERY([都市];[都市]⼈人⼝口>100000)   While  (Not(End  selection([都市])))     Load_̲Record  (-‐‑‒>[都市])     [都市]名称:=Uppercase([都市]名称)     SAVE  RECORD([都市])     UnLoad_̲Record  (-‐‑‒>[都市])     NEXT  RECORD([都市])   End  while  
  • 174. QUERY([都市];[都市]⼈人⼝口>100000)   While  (Not(End  selection([都市])))     Load_̲Record  (-‐‑‒>[都市])     [都市]名称:=Uppercase([都市]名称)     SAVE  RECORD([都市])     UnLoad_̲Record  (-‐‑‒>[都市])     NEXT  RECORD([都市])   End  while   無意味な汎⽤用メソッド QUERY([都市];[都市]⼈人⼝口>100000)   While  (Not(End  selection([都市])))     Load_̲Record  (-‐‑‒>[都市])     [都市]名称:=Uppercase([都市]名称)     SAVE  RECORD([都市])     UnLoad_̲Record  (-‐‑‒>[都市])     NEXT  RECORD([都市])   End  while    //  メソッド  :  Load_̲Record   C_̲POINTER($1)   READ  WRITE($1-‐‑‒>)   LOAD  RECORD($1-‐‑‒>)
  • 175. QUERY([都市];[都市]⼈人⼝口>100000)   While  (Not(End  selection([都市])))     Load_̲Record  (-‐‑‒>[都市])     [都市]名称:=Uppercase([都市]名称)     SAVE  RECORD([都市])     UnLoad_̲Record  (-‐‑‒>[都市])     NEXT  RECORD([都市])   End  while   無意味な汎⽤用メソッド QUERY([都市];[都市]⼈人⼝口>100000)   While  (Not(End  selection([都市])))     Load_̲Record  (-‐‑‒>[都市])     [都市]名称:=Uppercase([都市]名称)     SAVE  RECORD([都市])     UnLoad_̲Record  (-‐‑‒>[都市])     NEXT  RECORD([都市])   End  while    //  メソッド  :  Load_̲Record   C_̲POINTER($1)   READ  WRITE($1-‐‑‒>)   LOAD  RECORD($1-‐‑‒>)  //  メソッド  :  UnLoad_̲Record   C_̲POINTER($1)   READ  ONLY($1-‐‑‒>)   UNLOAD  RECORD($1-‐‑‒>)
  • 176. QUERY([都市];[都市]⼈人⼝口>100000)   While  (Not(End  selection([都市])))     Load_̲Record  (-‐‑‒>[都市])     [都市]名称:=Uppercase([都市]名称)     SAVE  RECORD([都市])     UnLoad_̲Record  (-‐‑‒>[都市])     NEXT  RECORD([都市])   End  while   無意味な汎⽤用メソッド QUERY([都市];[都市]⼈人⼝口>100000)   While  (Not(End  selection([都市])))     Load_̲Record  (-‐‑‒>[都市])     [都市]名称:=Uppercase([都市]名称)     SAVE  RECORD([都市])     UnLoad_̲Record  (-‐‑‒>[都市])     NEXT  RECORD([都市])   End  while    //  メソッド  :  Load_̲Record   C_̲POINTER($1)   READ  WRITE($1-‐‑‒>)   LOAD  RECORD($1-‐‑‒>)  //  メソッド  :  UnLoad_̲Record   C_̲POINTER($1)   READ  ONLY($1-‐‑‒>)   UNLOAD  RECORD($1-‐‑‒>) ループの実⾏行行ごとに4リクエスト
  • 177. QUERY([都市];[都市]⼈人⼝口>100000)   While  (Not(End  selection([都市])))     Load_̲Record  (-‐‑‒>[都市])     [都市]名称:=Uppercase([都市]名称)     SAVE  RECORD([都市])     UnLoad_̲Record  (-‐‑‒>[都市])     NEXT  RECORD([都市])   End  while   無意味な汎⽤用メソッド QUERY([都市];[都市]⼈人⼝口>100000)   While  (Not(End  selection([都市])))     Load_̲Record  (-‐‑‒>[都市])     [都市]名称:=Uppercase([都市]名称)     SAVE  RECORD([都市])     UnLoad_̲Record  (-‐‑‒>[都市])     NEXT  RECORD([都市])   End  while    //  メソッド  :  Load_̲Record   C_̲POINTER($1)   READ  WRITE($1-‐‑‒>)   LOAD  RECORD($1-‐‑‒>)  //  メソッド  :  UnLoad_̲Record   C_̲POINTER($1)   READ  ONLY($1-‐‑‒>)   UNLOAD  RECORD($1-‐‑‒>) ループの実⾏行行ごとに4リクエスト
  • 178. QUERY([都市];[都市]⼈人⼝口>100000)   While  (Not(End  selection([都市])))     Load_̲Record  (-‐‑‒>[都市])     [都市]名称:=Uppercase([都市]名称)     SAVE  RECORD([都市])     UnLoad_̲Record  (-‐‑‒>[都市])     NEXT  RECORD([都市])   End  while   READ  WRITE([都市])   QUERY([都市];[都市]⼈人⼝口>100000)   While  (Not(End  selection([都市])))     [都市]名称:=Uppercase([都市]名称)     SAVE  RECORD([都市])     NEXT  RECORD([都市])   End  while     READ  ONLY([都市]) 無意味な汎⽤用メソッド QUERY While             End  while    //  メソッド  :  Load_̲Record   C_̲POINTER($1)   READ  WRITE($1-‐‑‒>)   LOAD  RECORD($1-‐‑‒>)  //  メソッド  :  UnLoad_̲Record   C_̲POINTER($1)   READ  ONLY($1-‐‑‒>)   UNLOAD  RECORD($1-‐‑‒>) READ WRITE([都市]) QUERY([都市];[都市]⼈人⼝口>100000) While (Not(End selection([都市]))) [都市]名称:=Uppercase([都市]名称) SAVE RECORD([都市]) NEXT RECORD([都市]) End while READ ONLY([都市]) ループの実⾏行行ごとに4リクエスト
  • 179. QUERY([都市];[都市]⼈人⼝口>100000)   While  (Not(End  selection([都市])))     Load_̲Record  (-‐‑‒>[都市])     [都市]名称:=Uppercase([都市]名称)     SAVE  RECORD([都市])     UnLoad_̲Record  (-‐‑‒>[都市])     NEXT  RECORD([都市])   End  while   READ  WRITE([都市])   QUERY([都市];[都市]⼈人⼝口>100000)   While  (Not(End  selection([都市])))     [都市]名称:=Uppercase([都市]名称)     SAVE  RECORD([都市])     NEXT  RECORD([都市])   End  while     READ  ONLY([都市]) 無意味な汎⽤用メソッド QUERY While             End  while    //  メソッド  :  Load_̲Record   C_̲POINTER($1)   READ  WRITE($1-‐‑‒>)   LOAD  RECORD($1-‐‑‒>)  //  メソッド  :  UnLoad_̲Record   C_̲POINTER($1)   READ  ONLY($1-‐‑‒>)   UNLOAD  RECORD($1-‐‑‒>) READ WRITE([都市]) QUERY([都市];[都市]⼈人⼝口>100000) While (Not(End selection([都市]))) [都市]名称:=Uppercase([都市]名称) SAVE RECORD([都市]) NEXT RECORD([都市]) End while READ ONLY([都市]) ループの実⾏行行ごとに4リクエスト ループの実⾏行行毎に2リクエスト
  • 181. COPY  NAMED  SELECTION([ホテル];"選択したホテル")   QUERY([ホテル];[客室]価格<70)   $average_̲price:=Average([客室]価格)   USE  NAMED  SELECTION("選択したホテル")   CLEAR  NAMED  SELECTION("選択したホテル") 過剰なセレクション COPY NAMED SELECTION([ホテル];"選択したホテル") QUERY([ホテル];[客室]価格<70) $average_̲price:=Average([客室]価格) USE NAMED SELECTION("選択したホテル") CLEAR NAMED SELECTION("選択したホテル")
  • 182. COPY  NAMED  SELECTION([ホテル];"選択したホテル")   QUERY([ホテル];[客室]価格<70)   $average_̲price:=Average([客室]価格)   USE  NAMED  SELECTION("選択したホテル")   CLEAR  NAMED  SELECTION("選択したホテル") 過剰なセレクション COPY NAMED SELECTION([ホテル];"選択したホテル") QUERY([ホテル];[客室]価格<70) $average_̲price:=Average([客室]価格) USE NAMED SELECTION("選択したホテル") CLEAR NAMED SELECTION("選択したホテル") カレントセレクションをメモリにコピー 命名セレクションを作成
  • 183. COPY  NAMED  SELECTION([ホテル];"選択したホテル")   QUERY([ホテル];[客室]価格<70)   $average_̲price:=Average([客室]価格)   USE  NAMED  SELECTION("選択したホテル")   CLEAR  NAMED  SELECTION("選択したホテル") 過剰なセレクション COPY NAMED SELECTION([ホテル];"選択したホテル") QUERY([ホテル];[客室]価格<70) $average_̲price:=Average([客室]価格) USE NAMED SELECTION("選択したホテル") CLEAR NAMED SELECTION("選択したホテル") カレントセレクションをメモリにコピー 命名セレクションを作成 カレントセレクションを破棄
 クエリを実⾏行行
 カレントセレクションを作成
  • 184. COPY  NAMED  SELECTION([ホテル];"選択したホテル")   QUERY([ホテル];[客室]価格<70)   $average_̲price:=Average([客室]価格)   USE  NAMED  SELECTION("選択したホテル")   CLEAR  NAMED  SELECTION("選択したホテル") 過剰なセレクション COPY NAMED SELECTION([ホテル];"選択したホテル") QUERY([ホテル];[客室]価格<70) $average_̲price:=Average([客室]価格) USE NAMED SELECTION("選択したホテル") CLEAR NAMED SELECTION("選択したホテル") カレントセレクションをメモリにコピー 命名セレクションを作成 カレントセレクションを破棄
 クエリを実⾏行行
 カレントセレクションを作成 カレントセレクションを破棄
 命名セレクションを復復元
  • 185. COPY  NAMED  SELECTION([ホテル];"選択したホテル")   QUERY([ホテル];[客室]価格<70)   $average_̲price:=Average([客室]価格)   USE  NAMED  SELECTION("選択したホテル")   CLEAR  NAMED  SELECTION("選択したホテル") 過剰なセレクション COPY NAMED SELECTION([ホテル];"選択したホテル") QUERY([ホテル];[客室]価格<70) $average_̲price:=Average([客室]価格) USE NAMED SELECTION("選択したホテル") CLEAR NAMED SELECTION("選択したホテル") カレントセレクションをメモリにコピー 命名セレクションを作成 カレントセレクションを破棄
 クエリを実⾏行行
 カレントセレクションを作成 カレントセレクションを破棄
 命名セレクションを復復元 メモリを解放
  • 186. COPY  NAMED  SELECTION([ホテル];"選択したホテル")   QUERY([ホテル];[客室]価格<70)   $average_̲price:=Average([客室]価格)   USE  NAMED  SELECTION("選択したホテル")   CLEAR  NAMED  SELECTION("選択したホテル") 過剰なセレクション COPY NAMED SELECTION([ホテル];"選択したホテル") QUERY([ホテル];[客室]価格<70) $average_̲price:=Average([客室]価格) USE NAMED SELECTION("選択したホテル") CLEAR NAMED SELECTION("選択したホテル") カレントセレクションをメモリにコピー 命名セレクションを作成 カレントセレクションを破棄
 クエリを実⾏行行
 カレントセレクションを作成 カレントセレクションを破棄
 命名セレクションを復復元 メモリを解放
  • 187. CUT  NAMED  SELECTION([ホテル];"選択したホテル")   QUERY([ホテル];[客室]価格<70)   $average_̲price:=Average([客室]価格)   USE  NAMED  SELECTION("選択したホテル")   COPY  NAMED  SELECTION([ホテル];"選択したホテル")   QUERY([ホテル];[客室]価格<70)   $average_̲price:=Average([客室]価格)   USE  NAMED  SELECTION("選択したホテル")   CLEAR  NAMED  SELECTION("選択したホテル") 過剰なセレクション COPY NAMED SELECTION([ホテル];"選択したホテル") QUERY([ホテル];[客室]価格<70) $average_̲price:=Average([客室]価格) USE NAMED SELECTION("選択したホテル") CLEAR NAMED SELECTION("選択したホテル") カレントセレクションをメモリにコピー 命名セレクションを作成 カレントセレクションを破棄
 クエリを実⾏行行
 カレントセレクションを作成 CUT NAMED SELECTION([ホテル];"選択したホテル") QUERY([ホテル];[客室]価格<70) $average_̲price:=Average([客室]価格) USE NAMED SELECTION("選択したホテル") カレントセレクションを破棄
 命名セレクションを復復元 メモリを解放
  • 188. CUT  NAMED  SELECTION([ホテル];"選択したホテル")   QUERY([ホテル];[客室]価格<70)   $average_̲price:=Average([客室]価格)   USE  NAMED  SELECTION("選択したホテル")   COPY  NAMED  SELECTION([ホテル];"選択したホテル")   QUERY([ホテル];[客室]価格<70)   $average_̲price:=Average([客室]価格)   USE  NAMED  SELECTION("選択したホテル")   CLEAR  NAMED  SELECTION("選択したホテル") 過剰なセレクション COPY NAMED SELECTION([ホテル];"選択したホテル") QUERY([ホテル];[客室]価格<70) $average_̲price:=Average([客室]価格) USE NAMED SELECTION("選択したホテル") CLEAR NAMED SELECTION("選択したホテル") カレントセレクションをメモリにコピー 命名セレクションを作成 カレントセレクションを破棄
 クエリを実⾏行行
 カレントセレクションを作成 CUT NAMED SELECTION([ホテル];"選択したホテル") QUERY([ホテル];[客室]価格<70) $average_̲price:=Average([客室]価格) USE NAMED SELECTION("選択したホテル") カレントセレクションを破棄
 命名セレクションを復復元 メモリを解放 カレントセレクションを命名
 同時にカレントセレクションは消滅
  • 189. CUT  NAMED  SELECTION([ホテル];"選択したホテル")   QUERY([ホテル];[客室]価格<70)   $average_̲price:=Average([客室]価格)   USE  NAMED  SELECTION("選択したホテル")   COPY  NAMED  SELECTION([ホテル];"選択したホテル")   QUERY([ホテル];[客室]価格<70)   $average_̲price:=Average([客室]価格)   USE  NAMED  SELECTION("選択したホテル")   CLEAR  NAMED  SELECTION("選択したホテル") 過剰なセレクション COPY NAMED SELECTION([ホテル];"選択したホテル") QUERY([ホテル];[客室]価格<70) $average_̲price:=Average([客室]価格) USE NAMED SELECTION("選択したホテル") CLEAR NAMED SELECTION("選択したホテル") カレントセレクションをメモリにコピー 命名セレクションを作成 カレントセレクションを破棄
 クエリを実⾏行行
 カレントセレクションを作成 CUT NAMED SELECTION([ホテル];"選択したホテル") QUERY([ホテル];[客室]価格<70) $average_̲price:=Average([客室]価格) USE NAMED SELECTION("選択したホテル") カレントセレクションを破棄
 命名セレクションを復復元 メモリを解放 カレントセレクションを命名
 同時にカレントセレクションは消滅 クエリを実⾏行行
 カレントセレクションが作成される
  • 190. CUT  NAMED  SELECTION([ホテル];"選択したホテル")   QUERY([ホテル];[客室]価格<70)   $average_̲price:=Average([客室]価格)   USE  NAMED  SELECTION("選択したホテル")   COPY  NAMED  SELECTION([ホテル];"選択したホテル")   QUERY([ホテル];[客室]価格<70)   $average_̲price:=Average([客室]価格)   USE  NAMED  SELECTION("選択したホテル")   CLEAR  NAMED  SELECTION("選択したホテル") 過剰なセレクション COPY NAMED SELECTION([ホテル];"選択したホテル") QUERY([ホテル];[客室]価格<70) $average_̲price:=Average([客室]価格) USE NAMED SELECTION("選択したホテル") CLEAR NAMED SELECTION("選択したホテル") カレントセレクションをメモリにコピー 命名セレクションを作成 カレントセレクションを破棄
 クエリを実⾏行行
 カレントセレクションを作成 CUT NAMED SELECTION([ホテル];"選択したホテル") QUERY([ホテル];[客室]価格<70) $average_̲price:=Average([客室]価格) USE NAMED SELECTION("選択したホテル") カレントセレクションを破棄
 命名セレクションを復復元 メモリを解放 カレントセレクションを命名
 同時にカレントセレクションは消滅 命名セレクションをカレントに転⽤用
  同時に命名セレクションは消滅
  (解放不不要!) クエリを実⾏行行
 カレントセレクションが作成される