목록자격증/SQL 개발자 (23)
RUBY
문제 1. 특정 테이블에서 사원칼럼, 부서칼럼만 추출하는 경우에 DISK I / O 를 경감할 수 있는 반정규화 방법은 무엇인가? 1) 수평분할 2) 수직분할 3) 중복 테이블 추가 4) 수직 및 수평 분할 수행 정답 : 2) 수직분할 (드래그하면 정답이 보입니다) 풀이 수직 분할은 특정 칼럼 단위로 테이블을 분할하여 디스크 I/O(Input / Output)을 줄일 수 있는 방법이다. DISK I/O - 데이터를 작성하고 변경할 적에 디스크 즉 HDD에 그 것이 저장되는 것
논리연산자 참(true), 거짓(false) 두 가지를 가지고 비교하는 연산자 연산자 AND && OR || 설명 비교하는 값 모두 참(true)이여야 결과가 참(true) 비교하는 값 하나라도 참(true)이면 결과가 참(true) AND, && 비교하는 값 모두 참(true)이여야 결과가 참(true) - age가 29이상 35이하인 데이터 조회 SELECT name, age FROM table_name WHERE age BETWEEN 29 AND 35; SELECT name, age FROM table_name WHERE age BETWEEN 29 && 35; OR, || 비교하는 값 하나라도 참(true)이면 결과가 참(true) - age가 29또는 35인 데이터 조회 SELECT name, a..
관계연산자 연산자 = != = ! BETWEEN NULL 설명 같음 같지않음 작음 큼 작거나 같음 크거나 같음 작지 않음 크지 않음 두 값 사이에 있음 NULL임 = 같음 - age가 29인 데이터 조회 SELECT name, age FROM table_name WHERE age = 29; !=, 같지않음 - age가 29이 아닌 데이터 조회 SELECT name, age FROM table_name WHERE age != 29; SELECT name, age FROM table_name WHERE age 29; 29; = 29; ! 29; BETWEEN...AND 두 값 사이에 있음 - age가 29보다 크고 35보다 작은 데이터 조회 SELECT name, age FROM table_name WHER..
WHERE - 특정한 조건의 데이터만 조회한다. SELECT 필드이름 FROM 테이블이름 WHERE 조건식; - WHERE 조건 없이 조회하면 전체 데이터가 조회되기에, 수백 수천만건이 조회될 수도 있다. SELECT 필드이름 FROM 테이블이름; - WHERE 조건 추가 후 조회해보기 SELECT * FROM user WHERE user_id = 'ruby'; 관계 연산자의 사용 AND 1994년 이후에 출생하고, 신장이 160 이상인 사람의 아이디와 이름을 조회해보자. SELECT userID, userName FROM userTBL WHERE birthYear >= 1994 AND height >= 160; OR 1994년 이후에 출생했거나, 신장이 160 이상인 사람의 아이디와 이름을 조회해보자...
데이터베이스 종류 별 SQL 주석 종류 종류 MySQL Oracle MSSQL MariaDB Sybase IQ Sybase ASE DB2 한 줄 주석 (단순 주석) #, -- -- -- #, -- --, //, % -- -- 여러 줄 주석 (대괄호 주석) /* comment */ /* comment */ /* comment */ /* comment */ /* comment */ /* comment */ /* comment */ 데이터베이스 관리도구 별 주석 단축키 DB관리도구 HeidiSQL SSMS DataGrip DBeaver 단축키 Ctrl + F6 Ctrl + K + C (2000 : Ctrl + Shift + C) Ctrl(⌘) + / Ctrl + / (한 줄 주석) Ctrl+Shift+ / (..
단일쿼리문에서는 필수적으로 세미콜론(;)을 필요로하지는 않지만, 서버와의 연결을 끊는 구문인 QUIT와 같은 경우를 제외한 일반적인 구문 뒤에는 세미콜론(;)을 붙입니다. USE user; SELECT * FROM user; 하지만 위와 같이 여러 구문의 쿼리문을 작성할때는 세미콜론(;) 으로 구분하는 것이 필요합니다. 굳이 세미콜론이 필요로 하지는 않는 쿼리라도, 좋은 쿼리를 작성하는 버릇을 들이기 위해 단일 쿼리문이라도 습관적으로라도 세미콜론(;)으로 구분해주는게 좋을 것 같습니다.
SELECT - 데이터베이스 내의 테이블에서 원하는 정보를 추출하는 명령 SELECT 열 이름 FROM 테이블이름 WHERE 조건 SELECT + FROM SELECT * FROM user - user 테이블에서 모든 열의 내용을 가져옴 - * → 모든 것을 의미함 (이 곳의 *은 모든 열을 의미한다.) SELECT name FROM user - user 테이블에서 name열의 내용을 가져옴
1. SELECT SELECT * FROM ( ) → 가장 흔히 사용하는 쿼리이지만 아주 좋지 않은 쿼리이기도 함 → *을 사용함으로서 필요치 않은 데이터도 가져오게 되므로 쓸데없는 네트웍 트래픽을 유발함과 동시에 데이터 건수가 많을 경우 속도 저하도 발생함 → 조건 WHERE 절을 사용하지 않아서 불필요한 데이터까지 모두 가져오게 됨 (데이터가 수백만건, 수천만건이 들어있는 데이터베이스에서 위 쿼리는 서버에 치명적인 부하를 주게 되어 서비스가 잠시동안 멈출 수 있는 상황까지도 발생할 수 있다.) SELECT * FROM Customers WHERE City = 'London' and PostalCode = 'WA1 1DP' → Customers 테이블에서 City가 London이고 PosatalCode..