select_list
SELECT List
SELECT로 List 데이터를 조회
SELECT로 List 데이터를 조회합니다.
테스트 데이터 입력
Example
명령> | rpush mylist1 value10 value30 value50 value20 value40 |
결과> | 5 |
명령> | rpush mylist2 110 120 130 140 150 |
결과> | 5 |
명령> | rpush mylist3 AAA BBB CCC DDD EEE |
결과> | 5 |
SELECT
SELECT *
SELECT key,value
SELECT key
SELECT value
FROM
FROM list.*
FROM list.mylist*
FROM list.mylist1
SELECT * FROM LIST.MYLIST*
List의 키와 값(value)를 조회한다.
Example
명령> | select * from list.mylist*; |
결과> |
0) key|value 1) mylist1|value10 2) mylist1|value30 3) mylist1|value50 4) mylist1|value20 5) mylist1|value40 6) mylist2|110 7) mylist2|120 8) mylist2|130 9) mylist2|140 10) mylist2|150 11) mylist3|AAA 12) mylist3|BBB 13) mylist3|CCC 14) mylist3|DDD 15) mylist3|EEE |
명령> | select * from list.mylist1; |
결과> |
0) key|value 1) mylist1|value10 2) mylist1|value30 3) mylist1|value50 4) mylist1|value20 5) mylist1|value40 |
명령> | select key from list.mylist*; |
결과> |
0) key 1) mylist1 2) mylist2 3) mylist3 |
ORDER BY
정렬(sort)해서 보여준다.
Example
명령> | select value from list.mylist1 order by value; |
결과> |
0) value 1) value10 2) value20 3) value30 4) value40 5) value50 |
명령> | select value from list.mylist1 order by value desc; |
결과> |
0) value 1) value50 2) value40 3) value30 4) value20 5) value10 |
정렬(sort) 순서: 숫자 < 문자
Example
명령> | select * from list.mylist* order by value; |
결과> |
0) key|value 1) mylist2|110 2) mylist2|120 3) mylist2|130 4) mylist2|140 5) mylist2|150 6) mylist3|AAA 7) mylist3|BBB 8) mylist3|CCC 9) mylist3|DDD 10) mylist3|EEE 11) mylist1|value10 12) mylist1|value20 13) mylist1|value30 14) mylist1|value40 15) mylist1|value50 |
LIMIT
출력 행 수를 제한한다.
Example
명령> | select * from list.mylist* order by value limit 5; |
결과> |
0) key|value 1) mylist2|110 2) mylist2|120 3) mylist2|130 4) mylist2|140 5) mylist2|150 |
명령> | select * from list.mylist* order by value desc limit 5; |
결과> |
0) key|value 1) mylist1|value50 2) mylist1|value40 3) mylist1|value30 4) mylist1|value20 5) mylist1|value10 |
LIMIT OFFSET
몇 행 건너 출력
Example
명령> | select * from list.mylist* order by value limit 5 offset 3; --> 3행 건너 5행 출력 |
결과> |
0) key|value 1) mylist2|140 2) mylist2|150 3) mylist3|AAA 4) mylist3|BBB 5) mylist3|CCC |
명령> | select * from list.mylist* order by value limit 3, 5; --> 3행 건너 5행 출력 |
결과> |
0) key|value 1) mylist2|140 2) mylist2|150 3) mylist3|AAA 4) mylist3|BBB 5) mylist3|CCC |
FUNCTIONS
COUNT()
개수를 조회한다.
Example
명령> | select count(*) from list.mylist*; |
결과> |
0) count(*) 1) 15 |
명령> | select count(key) from list.mylist*; |
결과> |
0) count(key) 1) 3 |
명령> | select key, count(*) from list.mylist* group by key; |
결과> |
0) key|count(*) 1) mylist1|5 2) mylist2|5 3) mylist3|5 |
MAX(), MIN()
최댓값, 최솟값을 조회한다.
Example
명령> | select min(value),max(value) from list.mylist1; |
결과> |
0) min(value)|max(value) 1) value10|value50 |
명령> | select min(value),max(value) from list.mylist*; |
결과> |
0) min(value)|max(value) 1) 110|value50 |
명령> | select key,min(value),max(value) from list.mylist* group by key; |
결과> |
0) key|min(value)|max(value) 1) mylist1|value10|value50 2) mylist2|110|150 3) mylist3|AAA|EEE |
MAX(value1, value2): 둘 중 큰 값 출력
MIN(value1, value2): 둘 중 작은 값 출력
Example
명령> | select max('A','B') |
결과> |
0) max('A','B') 1) B |
명령> | select max(135,value) from list.mylist2; |
결과> |
0) max(135,value) 1) 135 2) 135 3) 135 4) 140 5) 150 |
명령> | select min('CCC',value) from list.mylist3; |
결과> |
0) min('CCC',value) 1) AAA 2) BBB 3) CCC 4) CCC 5) CCC |
숫자 함수
SUM(), AVG()
합계, 평균을 구한다.
Example
명령> | select sum(value) from list.mylist2; |
결과> |
0) sum(value) 1) 650 |
명령> | select avg(value) from list.mylist2; |
결과> |
0) avg(value) 1) 130.0 |
문자, 숫자가 섞여 있을 경우에는 숫자만 계산한다.
Example
명령> | select sum(value) from list.mylist* |
결과> |
0) sum(value) 1) 650 |
기타 함수
group_concat
Example
명령> | select key,group_concat(value) from list.mylist1; |
결과> |
0) key|group_concat(value) 1) mylist1|value10,value30,value50,value20,value40 |
명령> | select key,group_concat(value,'') from list.mylist1; |
결과> |
0) key|group_concat(value) 1) mylist1|value10value30value50value20value40 |
명령> | select key,group_concat(value,' and ') from list.mylist1; |
결과> |
0) key|group_concat(value) 1) mylist1|value10 and value30 and value50 and value20 and value40 |
WHERE 조건
비교: =, <, <=, >, >=, !=, <>
값(value) 비교: 숫자
Example
명령> | select * from list.mylist2 where value = 130; |
결과> |
0) key|value 1) mylist2|130 |
명령> | select * from list.mylist2 where value > 130; |
결과> |
0) key|value 1) mylist2|140 2) mylist2|150 |
명령> | select * from list.mylist2 where value < 130; |
결과> |
0) key|value 1) mylist2|110 2) mylist2|120 |
명령> | select * from list.mylist2 where value != 130; |
결과> |
0) key|value 1) mylist2|110 2) mylist2|120 3) mylist2|140 4) mylist2|150 |
값(value) 비교: 문자
Example
명령> | select * from list.mylist1 where value > 'value30'; |
결과> |
0) key|value 1) mylist1|value50 2) mylist1|value40 |
명령> | select * from list.mylist1 where value >= 'value30'; |
결과> |
0) key|value 1) mylist1|value30 2) mylist1|value50 3) mylist1|value40 |
명령> | select * from list.mylist1 where value != 'value30'; |
결과> |
0) key|value 1) mylist1|value10 2) mylist1|value50 3) mylist1|value20 4) mylist1|value40 |
AND, OR
Example
명령> | select * from list.mylist2 where value >= 120 and value < 140; |
결과> |
0) key|value 1) mylist2|120 2) mylist2|130 |
명령> | select * from list.mylist2 where value <= 120 or value > 140; |
결과> |
0) key|value 1) mylist2|110 2) mylist2|120 3) mylist2|150 |
BETWEEN
Example
명령> | select * from list.mylist2 where value between 120 and 140; |
결과> |
0) key|value 1) mylist2|120 2) mylist2|130 3) mylist2|140 |
명령> | select * from list.mylist2 where value not between 120 and 140; |
결과> |
0) key|value 1) mylist2|110 2) mylist2|150 |
LIKE
%(퍼센트), _(밑줄)
대소문자를 구분하지 않는다.
Example
명령> | rpush mylist4 USER-A01 USER-A02 USER-B01 USER-B02 USER-C01 |
결과> | 5 |
명령> | select * from list.mylist4 where value like 'user-a%'; |
결과> |
0) key|value 1) mylist4|USER-A01 2) mylist4|USER-A02 |
명령> | select * from list.mylist4 where value like '%01%'; |
결과> |
0) key|value 1) mylist4|USER-A01 2) mylist4|USER-B01 3) mylist4|USER-C01 |
NOT LIKE
Example
명령> | select * from list.mylist4 where value not like 'user-a%'; |
결과> |
0) key|value 1) mylist4|USER-B01 2) mylist4|USER-B02 3) mylist4|USER-C01 |
명령> | select * from list.mylist4 where value not like '%01%'; |
결과> |
0) key|value 1) mylist4|USER-A02 2) mylist4|USER-B02 |
GLOB
*(별표), ?(물음표)
대소문자를 구분한다.
Example
명령> | select * from list.mylist4 where value glob 'USER-A*'; |
결과> |
0) key|value 1) mylist4|USER-A01 2) mylist4|USER-A02 |
명령> | select * from list.mylist4 where value glob '*01*'; |
결과> |
0) key|value 1) mylist4|USER-A01 2) mylist4|USER-B01 3) mylist4|USER-C01 |
IN
Example
명령> | select key from list.mylist* where key in ('mylist1','mylist2') |
결과> |
0) key 1) mylist1 2) mylist2 |
명령> | select * from list.mylist3 where value in ('AAA','CCC'); |
결과> |
0) key|value 1) mylist3|AAA 2) mylist3|CCC |
명령> | select * from list.mylist2 where value in (120,140); |
결과> |
0) key|value 1) mylist2|120 2) mylist2|140 |
NOT IN
Example
명령> | select key from list.mylist* where key not in ('mylist1','mylist2'); |
결과> |
0) key|value 1) mylist3 2) mylist4 |
명령> | select * from list.mylist3 where value not in ('AAA','CCC'); |
결과> |
0) key|value 1) mylist3|BBB 2) mylist3|DDD 3) mylist3|EEE |
명령> | select * from list.mylist2 where value not in (120,140); |
결과> |
0) key|value 1) mylist2|110 2) mylist2|130 3) mylist2|150 |
GROUP BY
Example
명령> | select key,count(*) from list.mylist* group by key; |
결과> |
0) key|count(*) 1) mylist1|5 2) mylist2|5 3) mylist3|5 4) mylist4|5 |
명령> | select key,min(value),max(value) from list.mylist* group by key; |
결과> |
0) key|min(value)|max(value) 1) mylist1|value10|value50 2) mylist2|110|150 3) mylist3|AAA|EEE 4) mylist4|USER-A01|USER-C01 |
<< Select String | Select List | Select Set >> |
---|
조회수 :
Email
답글이 올라오면 이메일로 알려드리겠습니다.