본문 바로가기

전체 글

(144)
SQL 단일행 함수 - 문자함수 (Trim, Rtrim, Ltrim) 문자잘라내기 TRIM, RTRIM, LTRIM ( 특정 철자 잘라내기, 오른쪽 철자 잘라내기, 왼쪽철자 잘라내기 ) select 'smith', ltrim('smith', 's'), rtrim('smith', 'h'). trim ('s' from 'smith') from dual; 설명 : smith 는 데이터가 없음으로 select 절 다음에 ' smith ' 입력 해 준뒤, LTRIM, PTRIM, TRIM 을 해준다. ltrim( '단어', '철자') 이고 rtrim 도 마찬가지 but , trim은 (' 철자' from '단어') 순으로 코딩 해 주어야 한다. 응용문제 : email 에서 도메인을 출력 하시오 trim 을 사용할때 ' 자르는 단어 ' 를 한 뭉텅이로 보는게 아니고 들어가있는 단어 하나하나를 인..
SQL 단일행 함수 - 문자함수 (Replace), (Lpad, Rpad) 문자 대체하기, 특정철자를 n 개만큼 채우기 Replace (특정철자를 다른철자로 변경하기) select ename, replace(sal, 0 , '*') from emp; 노*정 으로 출력 되게 하시오 (병원 전광판에 많이 쓰이는 SQL 함수) select replace(ename, substr(ename,2,1),'*') from emp14 설명 : 가운데 이름을 * 로 대체하여 출력해야하기 때문에 replace ( 컬럼명, 바뀔철자, '대체할 문자') 컬럼명은 : ename 바뀔 철자 : 이름 두번째 철자를 추출해야한다. —> substr(ename , 2, ,1 ) —> ename 의 두번째 순서의 글자를 1개만 추출한다 대체할 문자 : '*' select 절의 의미 : ename 의 (2번째철자로부터 1개) 철자를 추출하여서 * 으로 대..
SQL 단일행 함수 - 문자함수 Instr (특정철자의 위치 출력) instr (특정 철자의 위치(number)를 출력하기) select instr('SMITH', 'M') from dual; -> 만약 없는 철자를 입력하게 되면 값은 '0' 이 나온다. 문제 : 이름, 이름의 철자에 알파벳 A 가 몇번째에 있는지 출력 select ename, instr(ename, 'A') from emp; ->A가없는 사람은 0 으로 나온다. 문제 : 이름에 알파벳 a 를 포함하는 사원 이름 출력 select ename from emp where instr(ename, 'A' ) ! = 0 ; 설명 : instr 은 숫자를 뽑아내는 함수임으로 ename 에서 a를 포함된 문자를 출력하게 되면 반드시 값이 1이상으로 나온다. 만약 이름 철자에 'A' 가 없는 사람들을 뽑으려면 inst..
SQL 단일행 함수 - 문자함수 Length (문자열길이출력) Length 함수 length ( 문자열의 길이를 출력하기) select ename, length(ename) from emp; -> ename 과, 철자에 대한 길이의 숫자가 함께 출력된다.
SQL 단일행 함수 - 문자함수 Substr( 문자에서 특정단어 or 철자 추출 ) substr : 문자에서 특정 철자 추출하기 문자에서 지정된 길이의 문자열을 추출할 수 있다. substr (' 단어나 컬럼명' , 뽑아올 순서의 단어 순서, 철자의 수 ) 특정 조건을 사용해서 출력 할때 where substr( , , ) = 참고로 substr 함수는 문자 이기 때문에 = 뽑을 특정 단어도 문자 함수(to_char)로 추출 할 것 '' 싱클 쿼테이션 마크로 두르기 예제 17 : smi 만 출력하기 select substr('s m I t h' , 1, 3, ) 설명 (' smith' , 첫번째철자인 1 , 1번째부터 3개를 뽑겠다. ) substr(ename, 2 ) 이런식으로 2 다음에 다음 수를 넣지 않고 괄호를 닫으면 끝까지 읽는 것 입니다. from dual; from 절에 e..
SQL 단일행 함수 - 문자함수 upper,lower,initcap (대소문자) [1] 단일행 함수 ( —> 함수 —> ) 하나의 행이 함수에 입력 되어서 하나의 행으로 출력 되어지는 함수 (1) 문자함수 upper : 대문자 lower : 소문자 initcap : 첫번째 철자만 대문자출력 나머지는 소문자로 출력 예제 : 이름을 소문자, 대문자, 대소문자 로 출력 하세요 select lower(ename), upper (ename) initcap(ename) from emp; 만약 데이터가 너무 방대해서 대문자인지, 소문자인지, 섞여있는지 구분하기 어려울 때에는 where 절에 lower ( 컬럼명 ) like ' % 발췌할단어 % ' ; 를 써서 출력 가능하다. lower (컬럼명) 을쓰거나 upper (컬럼명) 인지는 둘중 하나를 사용하면 된다. 주의사항 : 여기서 와일드카드인 ..
SQL 연산자 비교연산자, 논리연산자 (AND , OR, NOT 진리연산) 기타 비교연산자 비교연산자 기본 부등호 연산자 >,=,즉 이름 첫 글자가 s 이고 뒤에는 무엇이 얼마나 길게 와도 관계 없다. _ : 이자리에 무엇이 와도 관계 없지만, 자릿수는 한자릿수 이다. like 연산자를 사용했을때만 % 는 특수문자가 아닌 연산자로서 사용한다. Like 연산자는 따로 (괄호) 는 사용 하지 않는다 만약 이메일 데이터를 뽑는데 데이터에 소문자와 대문자가 두개 다 존재 할 수 있으니 코딩 할때도 두개를 다 써넣어주면 된다. select ename, email from emp14 where email like '%.net' or email like '%.NET'; or 절 쓸때 주의할 점은 컬럼명을 다시 작성하고 다시 like 를 작성해야한다는 점이다. 여러가지를 뽑을 때에는 wher..
SQL Select문, (*), As, || 연결연산자, "" 더블쿼테이션 마크 의사용 [1] Query 문 테이블 table - 행과 열로 이루어진 데이터 저장/ 관리 하는 저장소 (1) 기본 select 문 구조 select (검색하고자 하는 컬럼명) ——> select ename from (table 명) —— >from emp; 참고로 emp = 사원테이블 입니다. (가상으로 만들어 놓은 테이블 ) 사원테이블의 컬럼이 무엇이 있는지 조회하시오 describe emp; 테이블에서 모든열 (컬럼) 출력하기 (*) select * form emp; 설명 : * = 'asterisk' 를 사용하면 모든 컬럼들을 조회 할 수 있다. (AS)컬럼 별칭 as 는 생략 가능 예제 : ename 을 이름으로, sal 은 월급으로 컬럼명 바꾸기 select ename as 이름 , sal as 월급 ..