Sql 특정 데이터값 가져오기(데이터갯수, 조건문, 문자열자르기, 문자열검색, 중복방지, 연결연산자)
♨ 카랜더 일정 :
2021년07월14일
링크
첨부
본문
autosave 필드 본문 내용을 확인하고자 합니다.
글을 작성하고 '글쓰기'를 누르면 [object Object]라는 화면이 나오는데요
에디터 관리자 기본설정 가능한 에디터 는 문제 되지 않는데
일부 에디터에서 문제 발생
mysql db를 검색 하고자 합니다
SELECT * FROM `g5_autosave` WHERE as_content like 'object'
SELECT * FROM `g5_autosave` WHERE as_content like '%'
찾기
SELECT * FROM `g5_autosave` WHERE as_content like '찾는단어%'
select count(as_content) from g5_autosave
object
SELECT * FROM `g5_autosave` WHERE as_content like '<p%'
SELECT * FROM `g5_autosave` WHERE as_content like '%'
● Sql 특정 데이터값 가져오기(데이터갯수, 조건문, 문자열자르기, 문자열검색, 중복방지, 연결연산자)삐약이개발자 2017. 9. 25. 19:56(1) 각 테이블별 데이터 출력
- select * from 테이블명
select * from member, memberOther, memberlist;
(2) 각 테이블별 데이터 개수 출력
- select count(*) from 테이블명
- select count(출력할컬럼명) from 테이블명
(3) member 테이블에서 남성만 출력(특정값만 출력)
- select * from 테이블명 where 조건이될컬럼명='조건값'
select * from member where gender='M'
(4) member 테이블에서 1990년도 이후 출생자 출력
- select count(*) from 테이블명 where 조건컬럼 (비교연산자: >, <, =,>=, <=) 비교값
select * from member where birthday>= 19900000
(5) member 테이블에서 1990년도 출생자 출력
- select * from 테이블명 where 컬럼명 betweend 시작값 and 끝값
- select * from 테이블명 where 컬럼명 like (a%: a로 시작하는값, %a : a로 끝나는값, %a% : a를 포함하는값)
select * from member where birthday between 19900101 and 19901230
select * from member where birthday like '1990%'
(6) member 테이블에서 김씨 만 출력
- select * from 테이블명 where 컬럼명 like 조건값%
SELECT * FROM `member` WHERE name like '김%'
(7) member 테이블에서 생일이 30일인 사람 출력
- select * from 테이블명 where 컬럼명 like %조건값
select * from member where birthday like '%30'
- select * from 테이블명 where right(컬럼명, legnth) = 조건값
-> right(문자열, length) length의 길이만큼 우축에서 문자열을 반환
select * from member where right(birthday, 2) ='30';
(8) member 테이블에서 아이디,이름,성별,생년 출력( 월일은 출력 X )
substring(문자열(혹은 컬럼명), n, length) : 해당문자열(컬럼)을 n번째 부터 length 길이 만큼 추출하여 반환
select userid, name, gender, substring(birthday, 1, 4) from member
left(문자열(혹은 컬럼명), length) 왼쪽에서부터 length의 길이만큼 추출하여 반환
select userid, name, gender, left(birthday, 4) (as 생략가능) brithday from member
(9) member 테이블에서 test4의 등록 날짜 출력(날짜만)
select substring_index(rdate, ' ', 1) as result from member where userid = 'test4';
= selelct left(rdate, 10) from member where userid='test4';
(출처 : http://chongmoa.com/sql/9155)
-> 구분자 (delimiter) delim가 count 만큼 나오기 전에 스트링 str 에서 서브 스트링을 리턴.
SUBSTRING_INDEX(str,delim,count) 구분자 (delimiter) delim가 count 만큼 나오기 전에 스트링 str 에서 서브 스트링을 리턴한다. 만일 count 가 양수 (positive)라면, 마지막 구분자의 왼쪽에 있는 모든 것들이 리턴된다.
(왼쪽부터 계산이 됨). count 가 음수일 경우에는, 마지막 구분자의 오른쪽에 있는 모든 것들이 리턴된다 (오른쪽부터 계산됨).
SUBSTRING_INDEX()는 delim에 대한 검색을 할 때 문자의 크기를 구분한다.
사용예 : SELECT SUBSTRING_INDEX('www.chongmoa.com', '.', 2);
결과 : www.chongmoa
사용예 : SELECT SUBSTRING_INDEX('www.chongmoa.com', '.', -2);
결과 : chongmoa.com
사용예 : SELECT SUBSTRING_INDEX('admin@chongmoa.com', '@', -1)
결과 : chongmoa.com
사용예 : SELECT SUBSTRING_INDEX('admin@chongmoa.com', '@', 1)
결과 : admin
(10) memberOther 혈액형이 B형이고 취미가 h010인 데이터
select * from memberOther where blood='B' and hobby='h010';
(11) memberOhter 테이블에서 혈액형 종류 출력(중복방지)
select distinct blood from memberOther
(12) memberOther에서 연결 연산자를 이용하여 다음처럼 출력
(결과) test1님의 혈액형은 A형입니다.\
- 연결함수 CONCAT('hello, ' my', ' blog') AS result : result라는 결과값에 'hello my blog'를 반환
SELECT concat( userid, '님의 혈액형은', blood, ' 입니다' ) as result
FROM memberOther
WHERE userid = 'test1'
(13) 아이디, 이름, 혈액형 출력
select userid, name, (select blood from memberOther where userid = member.userid) as blood from member
(14) 혈액형이 AB형인 아이디, 이름, 혈액형 출력
select userid, (select name from member where userid = memberOther.userid)as name, blood from memberOther where blood='AB'
-> Join(조인)
select a.userid, a.name, b.blood (= membet.userid, member.name, memberOther.blood)
from member a, memberOther b (a에 member 테이블을 세팅, b에 memberOther 테이블을 세팅)
where
a.userid = b.userid and b.blood='AB';
(15) 혈액형이 AB형이거나 A형인 아이디, 이름, 혈액형 출력
select userid, (select name from member where userid = memberOther.userid) as name, blood from memberOther where blood='AB' or blood= 'A'
-> Join(조인)
select a.userid, a.name, b.blood
from member a, memberOther b
where
a.userid=b.userid and (b.blood='AB' or b.blood='A');
☞ https://11q.kr 에 등록된 자료 입니다.
뷰PDF 1,2
office view
관련자료
-
이전
-
다음
댓글목록
등록된 댓글이 없습니다.