wasup

MySQL) SQL SELECT _A_ FROM _B_ WHERE _?_; 본문

DataBase/MySQL

MySQL) SQL SELECT _A_ FROM _B_ WHERE _?_;

wasupup 2021. 5. 12. 17:48
반응형
데이터 조작어 DML ( Data Maniqulation Language )

데이터를 조회, 검색, 변형.
SELECT 조회
INSERT 삽입
UPDATE 수정
DELETE 삭제

 


 

#1행의 count열을 표를 만듬.
SELECT COUNT(*) FROM 게시물;

 

COUNT(DISTINCT ____)

#중복되는 값을 추가
INSERT INTO 게시물(제목, 내용, 작성자번호) VALUES('제목5', '내용1', 1);
INSERT INTO 게시물(제목, 내용, 작성자번호) VALUES('제목6', '내용2', 2);
INSERT INTO 게시물(제목, 내용, 작성자번호) VALUES('제목7', '내용3', 3);
INSERT INTO 게시물(제목, 내용, 작성자번호) VALUES('제목8', '내용4', 4);

#값 확인
SELECT * FROM 게시물;
SELECT COUNT(*) FROM 게시물;
SELECT COUNT(DISTINCT 내용) FROM 게시물;

 

WHERE

 SELECT ___A___ FROM ___B___ WHERE ___?___; 

: B테이블에서 WHERE절에 해당하는 A를 선택

 


WHERE절에 올 수 있는 것

Operator Description Ex
= 같은 것 SELECT * FROM 게시물 WHERE 내용='내용1';
> 큰 것 SELECT * FROM 게시물 WHERE 번호 > 3;
< 작은 것 SELECT * FROM 게시물 WHERE 번호 < 3;
>= 같거나 큰 것 SELECT * FROM 게시물 WHERE 번호 >= 3;
<= 같거나 작은 것 SELECT * FROM 게시물 WHERE 번호 <= 3;
<> 아닌 것 SELECT * FROM 게시물 WHERE 번호 <> 3;
BETWEEN 범위 사이인 것 SELECT * FROM 게시물 WHERE 번호 BETWEEN 2 AND 4;
LIKE 유사한 것 SELECT * FROM 게시물 WHERE 내용 LIKE '%용%';
IN 가능한 여러 값 SELECT * FROM 게시물 WHERE 내용 IN ('내용2', '내용4');

 

SELECT * FROM 게시물 WHERE 내용='내용1'; #내용이 '내용1'인 것.
SELECT * FROM 게시물 WHERE 번호 > 3; #번호가 3보다 큰것.
SELECT * FROM 게시물 WHERE 번호 >= 3; #번호가 3보다 같거나 큰것.
SELECT * FROM 게시물 WHERE 번호 < 3; #번호가 3보다 작은 것.
SELECT * FROM 게시물 WHERE 번호 <= 3; #번호가 3보다 같거나 작은것.
SELECT * FROM 게시물 WHERE 번호 <> 3; #번호가 3이 아닌 것.

SELECT * FROM 게시물 WHERE 번호 BETWEEN 2 AND 4;
SELECT * FROM 게시물 WHERE 내용 LIKE '%내%';
SELECT * FROM 게시물 WHERE 내용 LIKE '%용%';
SELECT * FROM 게시물 WHERE 내용 LIKE '%4%';
SELECT * FROM 게시물 WHERE 내용 IN ('내용2', '내용4');

 

AND, OR, NOT, AND NOT

SELECT * FROM 게시물 WHERE 제목='제목1' AND 내용='내용1';
SELECT * FROM 게시물 WHERE 제목='제목1' OR 제목='제목2';
SELECT * FROM 게시물 WHERE NOT 제목='제목1';
SELECT * FROM 게시물 WHERE NOT 제목='제목1' AND NOT 제목='제목2';

 


WHERE절 다음에 오는 것.

ORDER BY : 정렬

SELECT * FROM 게시물 ORDER BY 내용;
SELECT * FROM 게시물 WHERE 작성자번호=1 ORDER BY 번호 asc; #오름차순
SELECT * FROM 게시물 WHERE 작성자번호=1 ORDER BY 번호 desc; #내림차순


 

 

 


연습

 


 

 

 

mysql> SELECT * FROM 게시물;
+--------+---------+---------+-----------------+---------------------+
| 번호   | 제목    | 내용    | 작성자번호      | 작성일              |
+--------+---------+---------+-----------------+---------------------+
|      1 | 제목1   | 내용1   |               1 | 2021-05-04 16:19:16 |
|      2 | 제목2   | 내용2   |               2 | 2021-05-04 16:19:16 |
|      3 | 제목3   | 내용3   |               3 | 2021-05-04 16:19:16 |
|      4 | 제목4   | 내용4   |               4 | 2021-05-04 16:19:16 |
|     13 | 제목5   | 내용1   |               1 | 2021-05-04 17:17:30 |
|     14 | 제목6   | 내용2   |               2 | 2021-05-04 17:17:30 |
|     15 | 제목7   | 내용3   |               3 | 2021-05-04 17:17:30 |
|     16 | 제목8   | 내용4   |               4 | 2021-05-04 17:17:32 |
+--------+---------+---------+-----------------+---------------------+
8 rows in set (0.00 sec)

mysql> SELECT COUNT(*) FROM 게시물;
+----------+
| COUNT(*) |
+----------+
|        8 |
+----------+
1 row in set (0.00 sec)

mysql> SELECT COUNT(DISTINCT 내용) FROM 게시물;
+------------------------+
| COUNT(DISTINCT 내용)   |
+------------------------+
|                      4 |
+------------------------+
1 row in set (0.00 sec)

 

mysql> SELECT * FROM 게시물 WHERE 내용='내용1';
+--------+---------+---------+-----------------+---------------------+
| 번호   | 제목    | 내용    | 작성자번호      | 작성일              |
+--------+---------+---------+-----------------+---------------------+
|      1 | 제목1   | 내용1   |               1 | 2021-05-04 16:19:16 |
|     13 | 제목5   | 내용1   |               1 | 2021-05-04 17:17:30 |
+--------+---------+---------+-----------------+---------------------+
2 rows in set (0.00 sec)

 

mysql> SELECT * FROM 게시물 WHERE 번호 <> 3;
+--------+---------+---------+-----------------+---------------------+
| 번호   | 제목    | 내용    | 작성자번호      | 작성일              |
+--------+---------+---------+-----------------+---------------------+
|      1 | 제목1   | 내용1   |               1 | 2021-05-04 16:19:16 |
|      2 | 제목2   | 내용2   |               2 | 2021-05-04 16:19:16 |
|      4 | 제목4   | 내용4   |               4 | 2021-05-04 16:19:16 |
|     13 | 제목5   | 내용1   |               1 | 2021-05-04 17:17:30 |
|     14 | 제목6   | 내용2   |               2 | 2021-05-04 17:17:30 |
|     15 | 제목7   | 내용3   |               3 | 2021-05-04 17:17:30 |
|     16 | 제목8   | 내용4   |               4 | 2021-05-04 17:17:32 |
+--------+---------+---------+-----------------+---------------------+
7 rows in set (0.00 sec)

mysql> SELECT * FROM 게시물 WHERE 번호 BETWEEN 2 AND 4;
+--------+---------+---------+-----------------+---------------------+
| 번호   | 제목    | 내용    | 작성자번호      | 작성일              |
+--------+---------+---------+-----------------+---------------------+
|      2 | 제목2   | 내용2   |               2 | 2021-05-04 16:19:16 |
|      3 | 제목3   | 내용3   |               3 | 2021-05-04 16:19:16 |
|      4 | 제목4   | 내용4   |               4 | 2021-05-04 16:19:16 |
+--------+---------+---------+-----------------+---------------------+
3 rows in set (0.00 sec)

mysql> SELECT * FROM 게시물 WHERE 내용 LIKE '%용%';
+--------+---------+---------+-----------------+---------------------+
| 번호   | 제목    | 내용    | 작성자번호      | 작성일              |
+--------+---------+---------+-----------------+---------------------+
|      1 | 제목1   | 내용1   |               1 | 2021-05-04 16:19:16 |
|      2 | 제목2   | 내용2   |               2 | 2021-05-04 16:19:16 |
|      3 | 제목3   | 내용3   |               3 | 2021-05-04 16:19:16 |
|      4 | 제목4   | 내용4   |               4 | 2021-05-04 16:19:16 |
|     13 | 제목5   | 내용1   |               1 | 2021-05-04 17:17:30 |
|     14 | 제목6   | 내용2   |               2 | 2021-05-04 17:17:30 |
|     15 | 제목7   | 내용3   |               3 | 2021-05-04 17:17:30 |
|     16 | 제목8   | 내용4   |               4 | 2021-05-04 17:17:32 |
+--------+---------+---------+-----------------+---------------------+
8 rows in set (0.00 sec)

mysql> SELECT * FROM 게시물 WHERE 내용 LIKE '%4%';
+--------+---------+---------+-----------------+---------------------+
| 번호   | 제목    | 내용    | 작성자번호      | 작성일              |
+--------+---------+---------+-----------------+---------------------+
|      4 | 제목4   | 내용4   |               4 | 2021-05-04 16:19:16 |
|     16 | 제목8   | 내용4   |               4 | 2021-05-04 17:17:32 |
+--------+---------+---------+-----------------+---------------------+
2 rows in set (0.00 sec)

mysql> SELECT * FROM 게시물 WHERE 내용 IN ('내용2', '내용4');
+--------+---------+---------+-----------------+---------------------+
| 번호   | 제목    | 내용    | 작성자번호      | 작성일              |
+--------+---------+---------+-----------------+---------------------+
|      2 | 제목2   | 내용2   |               2 | 2021-05-04 16:19:16 |
|      4 | 제목4   | 내용4   |               4 | 2021-05-04 16:19:16 |
|     14 | 제목6   | 내용2   |               2 | 2021-05-04 17:17:30 |
|     16 | 제목8   | 내용4   |               4 | 2021-05-04 17:17:32 |
+--------+---------+---------+-----------------+---------------------+
4 rows in set (0.00 sec)

 


반응형
Comments