DEVELOPE/MYSQL&MARIADB
SQL SELECT 조회, 정렬
소찾나
2017. 10. 16. 21:59
SQL SELECT 조회, 정렬
SQL SELECT 조회, 정렬
1 select 명령문
select 명령문의 2개 이상의 절로 구성되어 있다.
▶ select 명령문읜 select 와 from 이라는 절을 가지고 있고 그리고 where, group by, order by 같은 절을 선택적으로 상용한다.
▶ 절의 순서는 고정되어 있고 예를들면 GROUP BY 절은 WHERE 또는 FROM 절 앞에 올 수 없다. 그리고 ORDER BY 절이 사용된다면 항상
마지막에 사용된다.
▶ HAVING 절은 GROUP BY 절이 사용되어야만 사용할 수 있다.
SELECT 문의 예제
학생과 점수테이블의 모든 학생 리스트를 출력한다.
mysql> select * from student;
+----+------+-----------+-------+--------+
| no | sno | name | jumsu | course |
+----+------+-----------+-------+--------+
| 1 | 100 | 홍길동 | 100 | 수학 |
| 2 | 101 | 김철수 | 90 | 국어 |
| 3 | 102 | 김순이 | 30 | 영어 |
| 4 | 103 | 김말동 | 45 | 국어 |
| 5 | 104 | 정민철 | 80 | 역사 |
| 6 | 105 | 이만수 | 70 | 과학 |
| 7 | 106 | 안철수 | 90 | 영어 |
| 8 | 107 | 김재동 | 100 | 역사 |
| 9 | 108 | 이미자 | 95 | 수학 |
+----+------+-----------+-------+--------+
9 rows in set (0.00 sec)
학생과 점수 테이블에서 90점 이상의 점수를 맞은 학생리스트를 출력하라
mysql> select * from student where jumsu >= 90;
+----+------+-----------+-------+--------+
| no | sno | name | jumsu | course |
+----+------+-----------+-------+--------+
| 1 | 100 | 홍길동 | 100 | 수학 |
| 2 | 101 | 김철수 | 90 | 국어 |
| 7 | 106 | 안철수 | 90 | 영어 |
| 8 | 107 | 김재동 | 100 | 역사 |
| 9 | 108 | 이미자 | 95 | 수학 |
+----+------+-----------+-------+--------+
5 rows in set (0.00 sec)
학생과 점수 테이블에서 80점 이상의 점수를 맞은 학생의 성적 역순으로 출력하라
mysql> select * from student where jumsu >= 80 order by name asc;
+----+------+-----------+-------+--------+
| no | sno | name | jumsu | course |
+----+------+-----------+-------+--------+
| 8 | 107 | 김재동 | 100 | 역사 |
| 2 | 101 | 김철수 | 90 | 국어 |
| 7 | 106 | 안철수 | 90 | 영어 |
| 9 | 108 | 이미자 | 95 | 수학 |
| 5 | 104 | 정민철 | 80 | 역사 |
| 1 | 100 | 홍길동 | 100 | 수학 |
+----+------+-----------+-------+--------+
6 rows in set (0.00 sec)
학생과 점수 테이블에서 80점 이상의 점수를 맞은 학생의 이름을 순차적으로 출력하라
mysql> select * from student where jumsu >= 80 order by jumsu desc;
+----+------+-----------+-------+--------+
| no | sno | name | jumsu | course |
+----+------+-----------+-------+--------+
| 1 | 100 | 홍길동 | 100 | 수학 |
| 8 | 107 | 김재동 | 100 | 역사 |
| 9 | 108 | 이미자 | 95 | 수학 |
| 2 | 101 | 김철수 | 90 | 국어 |
| 7 | 106 | 안철수 | 90 | 영어 |
| 5 | 104 | 정민철 | 80 | 역사 |
+----+------+-----------+-------+--------+
6 rows in set (0.00 sec)