- 하나의 값이 아닌 값들의 집합에 대해 동작하는 그룹(aggregate) 함수 - 대부분의 그룹 함수는 NULL 값을 제외하고 동작한 결과를 반환함. COUNT - 선택된 필드에서 특정 조건을 만족하는 레코드의 총 개수를 반환. - 조건을 만족하는 레코드가 없다면 0을 반환 - 중복된 값을 제외하려면 필드 이름 앞에 DISTINCT 사용 MIN, MAX - MIN()은 선택된 필드에 저장된 값 중 최소값 반환 - MAX()은 선택된 필드에 저장된 값 중 최대값 반환 SUM - 선택된 숫자 타입의 필드에 저장된 값의 총 합 반환 AVG - 선택된 숫자 타입의 필드에 저장된 값의 평균값 반환 GROUP BY 절 - 선택된 레코드의 집합을 필드 값이나 표현식에 의해 그룹화한 결과 집합. - 하나의 그룹을 하..
CS
IFNULL 해당 Column의 값이 NULL을 반환할 때, 다른 값으로 출력할 수 있도록 하는 함수 SELECT IFNULL(Column명, "NULL일 경우 대체값") FROM 테이블명; - 예시 => NAME 열의 값이 NULL일 경우 "No name"으로 출력, 아니면 원래의 값 출력 SELECT ANIMAL_TYPE, IFNULL(NAME, "No name"), SEX_UPON_INTAKE FROM ANIMAL_INS; IF(), IS NULL SELECT ANIMAL_TYPE, IF(ISNULL(NAME), "No name", NAME), SEX_UPON_INTAKE FROM ANIMAL_INS; - IF(조건, 참일 때의 값, 거짓일 때의 값) - ISNULL(파라미터) : 파라미터로 받은 ..

프로그램(Program) 컴퓨터에서 실행할 수 있는 파일을 통칭. 아직 파일을 실행하지 않은 상태. 정적인 상태. 일반적으로 프로그램은 하나 이상의 프로세스를 갖고, 하나의 프로세스는 반드시 하나 이상의 스레드를 가짐. 프로세스(Process) 프로그램이 돌아가고 있는 상태. 즉, 컴퓨터에서 작업 중인 프로그램. 메모리에 올라와 CPU 자원을 할당받아 실행되고 있는 프로그램의 인스턴스(독립적인 개체) 운영체제로부터 시스템 자원을 할당받는 작업의 단위 할당받는 시스템 자원의 예 CPU 시간 운영되기 위해 필요한 주소 공간 Code, Data, Stack, Heap 구조로 되어 있는 독립된 메모리 영역 프로세스 특징 각각 독립된 메모리 영역(Code, Data, Stack, Heap)을 할당받는다. Code..
트리(Tree) 그래프의 특수한 경우. 사이클이 없이 모든 정점이 연결되어 있는 그래프. 2개의 노드 사이에 반드시 1개의 간선만을 가짐. 부모-자식 관계가 존재하여 계층형 모델이라고도 함. 최상위에 Root 노드 존재. 스패닝 트리(Spanning Tree) 그래프 내의 모든 정점을 포함하는 트리 그래프의 최소 연결 그래프. 그러므로 간선의 개수는 (V-1)개 (V는 정점의 개수) 스패닝 트리 = 신장 트리 최소 스패닝 트리(MST, Minimum Spanning Tree) 스패닝 트리 중 간선 가중치의 합이 최소가 되는 스패닝 트리 MST를 구하는 알고리즘은 보통 아래의 2가지를 많이 사용 크루스칼 알고리즘 (Kruskal Algorithm) 프림 알고리즘 (Prim Algorithm) 크루스칼 알고..
다익스트라(Dijkstra) 알고리즘 한 정점에서 다른 모든 정점으로 가는 최단거리를 구하는 알고리즘. 매번 방문하지 않은 노드 중 가장 가까운 노드를 선택하여 하나씩 최단 거리를 구해나간다. 다이나믹 프로그래밍, 그리디 알고리즘에 포함됨. 음의 가중치를 가진 간선을 포함할 수 없음. 음의 가중치를 간선이 있다면 벨만-포드 알고리즘 사용. import heapq graph = [[] for _ in range(v)] def dijkstra(start): distance = [int(1e9)] * (v) distance[start] = 0 q = [] heapq.heappush(q, (0, start)) while q: dist, now = heapq.heappop(q) if distance[now] < ..