👥 조별 과제
⚡ 개념 정리하기 !
# 참고 : Python에서의 ORM (SQLAlchemy)
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
db = create_engine("sql database address");
session = sessionmaker(db);
base.metadata.create_all(db);
# SELECT ~ FROM Table ~ WHERE ~
session.query('Table').filter(lambda x: <bool>)
SELECT col1, col2, ... : col1, col2, …를 선택해주세요 (데이터 검색)FROM table : table에서 (조회할 테이블 지정)WHERE coln = value : coln의 값이 value인 튜플만 (조건 설정)⚡ 토론해보아요 !

** NULL을 - 로 표현함 (원래 아무 것도 쓰지 않았어야 했는데.. 깜빡했습니다)
-- 이수한 과목만 출력
SELECT 과목이름 FROM Subjects WHERE 평점 IS NOT NULL;
/*
+---------------------------------+
| 과목이름 |
+---------------------------------+
| 컴퓨팅사고와 인공지능리터러시 |
| 소프트웨어 중심세상 |
+---------------------------------+
2 rows in set (0.00 sec)
*/

SELECT * FROM restaurant WHERE 유형='양식';
/*
+--------+---------------+--------+--------------------------+-------------+
| 순위 | 맛집 이름 | 유형 | 최애 메뉴 | 가격(원) |
+--------+---------------+--------+--------------------------+-------------+
| 1 | 토마트 | 양식 | 트라플머쉬룸피자 | 19000 |
| 2 | 미태리 | 양식 | 감베리 파스타 | 8800 |
+--------+---------------+--------+--------------------------+-------------+
2 rows in set (0.01 sec)
*/

SELECT studentID FROM student WHERE gpa BETWEEN 2 AND 3;
SELECT studentID FROM student WHERE sname LIKE "tom%";
/*
+-----------+
| studentID |
+-----------+
| 1 |
| 2 |
| 3 |
| 6 |
| 7 |
+-----------+
5 rows in set (0.00 sec)
+-----------+
| studentID |
+-----------+
| 2 |
| 4 |
+-----------+
2 rows in set (0.00 sec)
*/

-- 승률이 50% 이상인 팀의 이름과 승리 횟수 출력
SELECT Team_name, win FROM baseball WHERE winning_rate > 0.5;
# 만약에 '평균 승률'보다 높은 팀을 출력하고 싶다면
SELECT Team_name FROM baseball WHERE winning_rate >
(SELECT AVG(winning_rate) FROM baseball);
CREATE, ALTER, DROP, RENAME
SELECT, INSERT, UPDATE, DELETE
BEGIN, COMMIT, ROLLBACK, GRANT, REVOKE
명령어 뒤에 붙는 옵션
FROM (테이블 지정)WHERE (필드 조건 지정) - IN, BETWEEN, ANY, …GROUP BY (그룹화)HAVING (그룹화의 필드 조건 지정)ORDER BY (정렬 기준 필드 지정)
goto, switch, if~else)