일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- object
- Git이해하기
- 데이터베이스연동
- jdbc
- 오버라이딩
- 배열
- 버튼페이지이동
- 컬렉션프레임워크
- html
- 이클립스
- emmet
- js
- javascript
- Collection
- CSS
- java입문
- arraylist
- Eclipse
- 기본코드
- Git알아보기
- 필드
- java
- 파일이동버튼
- 맨땅에 해딩
- form
- 점프 투 파이썬
- list
- cmd
- MySQL
- java기초
- Today
- Total
단단히
DB(MySQL) 기본쿼리_ Selete 원하는 쿼리(데이터) 선택하기 본문
Selecte문은 원하는 데이터를 선택해주는 키워드이다.
원하는 데이터를 보여준다.
조건을 넣어 원하는 칼럼을 골라서 선택할 수 있다.
Selecte문과 조건문까지 정리해보자.
2022.09.28 - [DataBase/개념 정리] - DB 기본 쿼리 _ insert
이때 잠깐 사용했던 Selecte문은
select *from test;
전체 insert 한 구문을 보여준다.
시작 DB 정보
create database start_1199;
-- Drop database start_1199;
use start_1199;
create table test(
num int unique auto_increment,
userID char(20) not null primary key,
userPW char(20) not null,
age int
);
-- drop table test;
desc test;
insert into test value(1,'tester','1234',29),
(2,'test02','1234',15),
(3,'sample','1234',null);
insert into test(num,userID,userPW) values (4,'ID123','123PW');
select *from test;
select 문법과 전체 필드 선택 / 특정 필드 선택
기본 문법을 알아보자.
Select 필드이름(F/N) from 테이블이름(T/N)
특정 필드 선택
기본 문법을 토대로 위의 기본 정보를 대입해 넣어보면
select num, userID, userPW from test;
작업자는 의미를 알 수 있지만, 공동 작업자가 아니거나 시간이 지나 다시 볼 때 칼럼의 이름을 기억하지 못할 수도 있다. 이때 칼럼의 이름을 바꿀 수 있다.
select num'번호', userID'회원아이디', userPW'회원비밀번호' from test;
전체 필드 선택
별표(*) 기호는 모든 필드를 의미한다.
모든 필드를 선택해야 할 경우 별표(*) 기호로 쉽게 사용할 수 있다.
select * from test;
select 조건문 (where)
데이터를 검색할 때 특정 조건이 맞는 데이터를 불러오는 경우가 많다.
예를 들어 나이가 20살 이상 사람, 주소가 '서울시'인 사람.. 등 조건 검색을 할 때가 있다.
이때 where 절을 사용한다. (테이블의 크기가 매우 클 때 사용되기도 한다.)
예시로 회원 비밀번호가 1234인 데이터만 선택해보자.
select * from test where userPW='1234';
이렇게 비밀번호가 1234인 회원들만 추출되었다.
● 연산자
where 조건절에는 기본적인 연산자(<,>,>=,<=,=,!=)를 사용할 수 있다.
select * from test where age>20;
여러 조건을 사용해야 하는 경우 논리 연산자(and / or)를 사용한다.
● 논리연산자 (and / or)
▩ and
비밀번호가 1234이며 나이가 20 이하인 데이터를 선택하고자 한다.
select * from test where userPW='1234' and age<20;
▩ or
나이가 10살 이상이고 20살 이하인 데이터를 뽑으려 한다.
select * from test where age>=10 and age<=20;
● between
위의 where문에서 10살 이상이고 20 이하인 데이터를 선택할 때 between and 문을 사용할 수 있다.
위와 같은 결과를 도출할 수 있다.
● in 구문
구문을 더 정확하게 확인할 수 있도록 기본 데이터를 약간 바꿔보고자 한다.
create database start_1199;
-- Drop database start_1199;
use start_1199;
create table test(
num int unique auto_increment,
userID char(20) not null primary key,
userPW char(20) not null,
age int
);
-- drop table test;
desc test;
insert into test value(1,'tester','1234',29),
(2,'test02','1234',15),
(3,'sample','1234',20);
insert into test(userID,userPW,age) values ('ID123','123PW',20)
,('sam','1234',29);
select *from test;
만약 나이가 20인 사람과 29인 사람을 선택하기 위해서 어떻게 구문을 적을 것인가?
위에서 배운 대로라면 or문을 사용할 것이다.
select * from test where age = 20 or age =29;
하지만 in 구문을 사용할 수도 있다.
조건(or)이 많다면 in 구문을 사용하는 게 더 효율적이다.
select * from test where age in(20,29);
where 절은 필터라고 생각하면 사용하기 편하다. 액셀로 비교하면 필터 기능이다.
select 정렬(오름차순 / 내림차순) - order by
정렬 기본 문법
select 필드명 from 테이블명 order by 정렬할컬럼명 asc/desc;
■ 오름차순
select * from test order by num asc;
■ 내림차순
select * from test where age in(20,29) order by num desc;
select 별칭 설정 선택 ( alias )
별칭을 붙여줄 수 있다.
필드 이름에 별칭을 붙여줄 수도 있고 테이블 이름에 별칭을 붙여줄 수도 있다.
별칭 부여(as) 기본 문법
1. SELECT 필드이름 AS 별칭 FROM 테이블이름;
2. SELECT 필드이름 FROM 테이블이름 AS 별칭;
※ concat() : 여러 문자열 혹은 칼럼 값 합치는 함수
concat(문자열1, 문자열2 [, 문자열3 ...])
예시 1)
select userID as uID from test;
예시 2)
select concat(userID," : ", age) as userInfo, userPW from test;
한번 알아두면 조금 더 효율적으로 쿼리를 짤 수 있다.
특히 in 같은 경우 or문을 많이 쓰는 것보다 짧게 사용이 가능하다.
where 절은 액셀로 비교하면 필터 기능이다.
'DataBase > 개념 정리' 카테고리의 다른 글
DB(MySQL) 실행창에서 바로가기 만들기 + Driver.class 파일 위치 (0) | 2022.09.30 |
---|---|
DB 기본 쿼리 _ insert (0) | 2022.09.28 |
DB(MySQL) 기본쿼리_ DB생성/ Table생성 / Table명세 (0) | 2022.09.26 |
Mysql) .jar 파일 설치 ( sql과 이클립스 연동 시_ JDBC ) (0) | 2022.09.19 |
DataBase_ DDL,DML,DCL 정리 (0) | 2022.06.27 |