데이터 검색

ANSI 표준 SQL로 데이터를 검색할 수 있습니다.

다음 예제는 인덱스를 생성하지 않은 상태에서의 검색을 보여줍니다.

즉, 마지막에 입력된 데이터가 먼저 출력됩니다.

자세한 내용은 SQL Reference의 SELECT 섹션을 참조하세요.

기본 검색

SELECT * FROM table_name;
Index
Basic access
View Conditional Clause
Mach> SELECT * FROM mach_log;
DEVICE          TM                              TEMP       
----------------------------------------------------------------
MSG                                                                              
------------------------------------------------------------------------------------
192.168.0.1     NULL                            NULL       
NULL                                                                             
192.168.0.2     2014-06-15 19:50:03 484:382:010 82         
error code = 20, critical warning                                                
192.168.0.2     2014-06-15 19:50:03 484:382:008 57         
error code = 20                                                                  
192.168.0.1     2014-06-15 19:50:03 484:382:006 99         
error code = 10, critical bug                                                    
192.168.0.1     2014-06-15 19:50:03 484:382:004 55         
error code = 10                                                                  
192.168.0.2     2014-06-15 19:50:03 484:382:002 31       
normal state                                                                     
192.168.0.1     2014-06-15 19:50:03 484:382:000 32         
normal state                                                                     
[7] row(s) selected.
Mach>

조건절 검색

SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;
Mach> SELECT * FROM mach_log WHERE device = '192.168.0.1';
DEVICE          TM                              TEMP       
----------------------------------------------------------------
MSG                                                                              
------------------------------------------------------------------------------------
192.168.0.1     NULL                            NULL       
NULL                                                                             
192.168.0.1     2014-06-15 19:50:36 488:663:006 99         
error code = 10, critical bug                                                    
192.168.0.1     2014-06-15 19:50:36 488:663:004 55         
error code = 10                                                                  
192.168.0.1     2014-06-15 19:50:36 488:663:000 32         
normal state                                                                     
[4] row(s) selected.
 
Mach> SELECT * FROM mach_log WHERE device = '192.168.0.1' AND temp > 30 AND temp < 50;
DEVICE          TM                              TEMP       
----------------------------------------------------------------
MSG                                                                              
------------------------------------------------------------------------------------
192.168.0.1     2014-06-15 19:50:36 488:663:000 32         
normal state                                                                     
[1] row(s) selected.
 
Mach> SELECT * FROM mach_log where device > '192.168.0.1';
DEVICE          TM                              TEMP       
----------------------------------------------------------------
MSG                                                                              
------------------------------------------------------------------------------------
192.168.0.2     2014-06-15 19:50:36 488:663:010 82         
error code = 20, critical warning                                                
192.168.0.2     2014-06-15 19:50:36 488:663:008 57         
error code = 20                                                                  
192.168.0.2     2014-06-15 19:50:36 488:663:002 31         
normal state                                                                     
[3] row(s) selected.
 
Mach> SELECT * FROM mach_log WHERE msg LIKE '%error%';
DEVICE          TM                              TEMP       
----------------------------------------------------------------
MSG                                                                              
------------------------------------------------------------------------------------
192.168.0.2     2014-06-15 19:50:36 488:663:010 82         
error code = 20, critical warning                                                
192.168.0.2     2014-06-15 19:50:36 488:663:008 57         
error code = 20                                                                  
192.168.0.1     2014-06-15 19:50:36 488:663:006 99         
error code = 10, critical bug                                                    
192.168.0.1     2014-06-15 19:50:36 488:663:004 55         
error code = 10                                                                  
[4] row(s) selected.

힌트를 사용한 검색 방향 지정

역방향

기본값이며, /*+ SCAN_BACKWARD(table_name) */ 힌트를 추가하여 검색할 수 있습니다.

Mach> SELECT * FROM LOG;
TIME    
----------------------------------
2021-01-04 00:00:00 000:000:000
2021-01-03 00:00:00 000:000:000
2021-01-02 00:00:00 000:000:000
2021-01-01 00:00:00 000:000:000
[4] row(s) selected.
Elapsed time: 0.001
 
Mach> SELECT /*+ SCAN_BACKWARD(LOG) */ * FROM LOG;
TIME    
----------------------------------
2021-01-04 00:00:00 000:000:000
2021-01-03 00:00:00 000:000:000
2021-01-02 00:00:00 000:000:000
2021-01-01 00:00:00 000:000:000
[4] row(s) selected.
Elapsed time: 0.001

정방향

/*+ SCAN_FORWARD(table_name) */ 힌트를 사용하여 정방향으로 검색합니다.

Mach> SELECT /*+ SCAN_FORWARD(LOG) */ * FROM LOG;
TIME
----------------------------------
2021-01-01 00:00:00 000:000:000
2021-01-02 00:00:00 000:000:000
2021-01-03 00:00:00 000:000:000
2021-01-04 00:00:00 000:000:000
[4] row(s) selected.
Elapsed time: 0.001

기본 스캔 방향을 설정하는 프로퍼티

TABLE_SCAN_DIRECTION 프로퍼티를 사용하면 SELECT 문에 힌트가 없을 때 Log 테이블의 스캔 방향을 설정할 수 있습니다.

최근 업데이트