👥 조별 과제
⚡ 개념 정리하기 !
# 참고 : 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
)