분류 전체보기 73

SQL 테이블 행연결(INTERSECT, INTERSECT ALL)

서로 다른 테이블을 세로 방향으로 합치기 위해선 2개의 쿼리문 사이에 연결 명령어를 추가하면 된다.이때 2가지 조건을 충족해야한다.1.두 SQL은 서로 컬럼의 개수가 동일할것2.두 SQL의 컬럼의 타입이 동일할 것INTERSECT, INTERSECT ALL# INTERSECT두 테이블의 교집합. 서로 중복되는 행은 1개로 출력 ( (select * from drink) union all (select * from drink))intersect( (select * from drink) union all (select * from drink)); id | name | quantity | shelf_life | volume----+--------------+----------+----..

SQL 2025.01.31

SQL 5장 실습문제

소스파일 : https://github.com/bjpublic/postgresql1전국의 인구수 총합을 연도별로 표시# 정답. + || '명' 해주면 인구수 뒤에 "명"도 붙는다select 년도, sum(총인구수) || '명' as 총인구수 from population_by_year group by 1 order by 1; 년도 | 총인구수------+------------ 2010 | 50515666명 2011 | 50734284명 2012 | 50948272명 2013 | 51141463명 2014 | 51327916명 2015 | 51529338명 2016 | 51696216명 2017 | 51778544명 2018 | 51826059명 2019 | 51849861명2최근 5년간 전국의 한 세대당..

SQL 2025.01.23

SQL 집계함수

기본적인 집계함수함수출력내용예시avg()null 값이 아닌 모든 입력 값의 평균avg(컬럼명)count(*)입력한 행의 총 개수count(*)count()null 값이 아닌 모든 입력 행 값의 개수count(컬럼명)max()null 값이 아닌 모든 입력 값의 최댓값max(컬럼명)min()null 값이 아닌 모든 입력 값의 최솟값min(컬럼명)sum()null 값이 아닌 모든 입력 값의 합산값sum(컬럼명)# 예시select 집계함수 from 테이블명;# 결과계산값빈테이블을 조회하면 결과로 아무값이 나오지 않는다. 웹과 db를 연동한다면 조회값이 없을경우에 대체메시지를 설정해주는것이 좋다.boolean 연산 집계함수데이터 타입이 boolean일때 사용가능함수출력내용예시bool_and()입력된 데이터가 모두..

SQL 2025.01.23

SQL GROUP BY, HAVING

GROUP BYselect 검색의 결과로 나오는 정보를 그룹화 해준다.# group by 앞과 뒤의 칼럼명은 동일. # 아래 두 쿼리의 결과는 같다.select 컬럼명 from 테이블명 group by 컬럼명;select distinct 컬럼명 from 테이블명; select item_type from rating group by item_type; item_type------------- drink canned_food ramengroup 이후에 나오는 컬럼명은 컬럼 순서대로 숫자 지정 가능select 컬럼명1,컬럼명2 from 테이블명 group by 1, 2;select 컬럼명1,컬럼명2 from 테이블명 group by 2, 1;group by로 새로운 group을 생성하고 결과를 리턴하는데 이..

SQL 2025.01.23

윈도우 원격 데스크톱(RDP) 접속 기록 삭제

윈도우 원격 데스크톱은 접속하면 ip기록이 남는다.외부에서 1회성으로 원격 데스크톱을 사용할경우 사용이후 이 정보를 제거해주는게 좋다.1. 레지스트리 정보삭제시작 - regedit 입력 - 레지스트리 편집기 실행컴퓨터\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Terminal Server Client\Default컴퓨터\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Terminal Server Client\Servers2. 파일삭제내 PC -> 문서 -> Default.rdp 파일 삭제

SQL 4장 실습문제

소스파일 : https://github.com/bjpublic/postgresql1한해 동안 특수학교에서 졸업한 학생의 수가 25명 이상이었던 학교 이름과 남, 여 졸업생 수를 출력.# 테이블 정보 확인\dt # 어떤 컬럼에 "특수학교"라는 데이터가 있는지 유추되는 컬럼 하나씩 직접 확인학교급명에 들어있음# 졸업한 학생의 수가 25명 이상졸업학생수에 대한 칼럼은 없고, 남자 졸업생수와 여자 졸업생수만 있어서 둘을 합침# 정답select 학교명, 졸업남자수, 졸업여자수 from graduates where 학교급명 = '특수학교' AND (졸업남자수 +졸업여자수) >= 25;22015년에 남,여 통합 취업률이 50%가 넘은 학교의 지역명, 이름과 취업률 출력.# 졸업년도 확인. date_trunc로 년도만..

SQL 2025.01.20

SQL 문자열 연산자

# || 연산자. 문자열 데이터 + 문자열이 아닌 데이터 가능. 결과는 문자열 데이터select 'postgre' || 'sql' as result, 'price: ' || 300 || 'won' as result;# length() 문자열의 길이 반환# substring( from 정수 for 정수)문자열의 지정 위치부터 위치까지 반환# left(, 정수)문자열의 지정 위치까지 반환# concat(, , , ...)다수의 문자열을 병합# position( in ) 문자열의 위치 반환select position('postgre' in 'my sql language is postgresql'); ㅡ> 20# replace(, , )문자열의 바뀔문열을 바뀔문자열로 대체함select replace('my sq..

SQL 2025.01.20

SQL 패턴매칭 연산자

# LIKE 연산자조회할 컬럼명에서 설정한 패턴을 가지고 있는 값들 조회조회할 컬럼명 LIKE '패턴'; 특정 값이 패턴과 일치하면 true, 불일치하면 false특정 값 LIKE '패턴';와일드카드 문자 %,_% = 문자열대체, _ = 문자대체select 'pink' like '_in_', 'pink' like 'p%k', 'pink' like 'p__';# ILIKE 연산자대소문자 구분하지 않음, LIKE 연산자는 구분함LIKE = ~~, NOT LIKE = !~~, ILIKE = ~~*, NOT ILIKE = !~~*

SQL 2025.01.20