'[비교]'에 해당되는 글 4

  1. 2014.03.14 [비교] 집합 연산
  2. 2009.08.13 Unix/DOS 명령어 비교
  3. 2009.05.17 [비교] 반복문 - foreach, for~in
  4. 2009.04.28 [비교] UPDATE

[비교] 집합 연산

- Java
Collection<Integer> a = new HashSet<Integer>(Arrays.asList(1, 2, 3));
Collection<Integer> b = Arrays.asList(3, 4, 5);
a.addAll(b); //[1, 2, 3, 4, 5]
a.retainAll(b); //[3]
a.removeAll(b); //[1, 2]

- Groovy
a = [1, 2, 3]
a.class
Result: class java.util.ArrayList

- Python
a = set([1, 2, 3])
b = set((3, 4, 5))
a | b #{1, 2, 3, 4, 5}
a & b #{3}
a - b #{1, 2}

- SQL
http://pantarei.tistory.com/1197

-----------
JavaScript로 Set(집합), 관련 함수(합집합, 교집합, 차집합)들 구현하기
https://jun-choi-4928.medium.com/javascript%EB%A1%9C-set-%EC%A7%91%ED%95%A9-%EA%B4%80%EB%A0%A8-%ED%95%A8%EC%88%98-%ED%95%A9%EC%A7%91%ED%95%A9-%EA%B5%90%EC%A7%91%ED%95%A9-%EC%B0%A8%EC%A7%91%ED%95%A9-%EB%93%A4-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0-e7d4d820b03c
Set()은 ie11부터...ㅋㅋ

jQuery 합집합, 교집합, 차집합, 대칭차
https://zetawiki.com/wiki/JQuery_%ED%95%A9%EC%A7%91%ED%95%A9,_%EA%B5%90%EC%A7%91%ED%95%A9,_%EC%B0%A8%EC%A7%91%ED%95%A9,_%EB%8C%80%EC%B9%AD%EC%B0%A8




Unix/DOS 명령어 비교

- 시스템 정보 확인
uname / ver, winver

- 호스트명 확인
hostname / hostname

- 환경변수 확인
env / set

-

도스/윈도우 에서 리눅스로

[비교] 반복문 - foreach, for~in

 

 

Java

for (String s : arr) {
    System.out.println("s=" + s);
}

람다?

 

Javascrpt

var person = {fname:"John", lname:"Doe", age:25};
for(x in person){
    txt = txt + ", " + person[x];
}

for (variable in [object | array]) {
    statements
}
--
var arr = ["pantarei", "siliuse", "mir"];  
for(var i = 0 ; i < arr.length ; i++){ 	alert(arr[i]); }  
for(var i in arr){ 	alert(arr[i]); }

 

Python

languages = ['Java', 'Python', 'C']
for language in languages:
    print(language)
}

 

PHP

foreach($customers as $customer){
    echo $customer;
}

 

Perl

여기도 추가
foreach my $string ( @array ) {
    print $string;
}

 

 

JSTL

<c:forEach>

 

Shell

$ for i in 1 2 3
> do
> echo $i
> done
1
2
3

$ for i in 1 2 3; do echo $i; done
1
2
3
$ for n in `find /etc -size 0`; do echo `ls -l $n`; done //xargs를 쓰는게 좋지
 

awk

 

Windows Command

> for %a in (1 2 3) do @echo %a

 

Oracle

FOR - Cursor

 

 

[비교] UPDATE

CREATE TABLE TB_1 (
  pk int PRIMARY KEY
  , col varchar(10)
);

CREATE TABLE TB_2 (
  pk int PRIMARY KEY
  , col varchar(10)
);

INSERT INTO TB_1 VALUES (1, '111');  
INSERT INTO TB_1 VALUES (2, '222');  
INSERT INTO TB_1 VALUES (3, '333');  
INSERT INTO TB_2 VALUES (1, 'aaa');  
INSERT INTO TB_2 VALUES (2, 'bbb');  

--SQL Server
UPDATE TB_1
SET col = b.col
FROM tb_1 a, tb_2 b
WHERE a.pk = b.pk;

--Oracle
UPDATE TB_1 a
SET a.col = (
	SELECT col 
	FROM TB_2 b 
	WHERE a.pk = b.pk
)
WHERE EXISTS ( --이 조건절이 없으면 3 이 null 로 갱신된다.
	SELECT 1 
	FROM TB_2 b 
	WHERE a.pk = b.pk
)

--Oracle 다른 방법
UPDATE (
  SELECT a.col a_col, b.col b_col
  FROM TB_1 a, TB_2 b
  WHERE a.pk = b.pk
)
SET a_col = b_col

- MariaDB
UPDATE CARD c INNER JOIN TMP_CARD t
ON c.card_no = t.card_no
SET c.act_no = t.act_no
WHERE c.act_no IS NULL
;