-조인이 발생하면 시스템 내부적으로 조인대상 테이블의 행들을 하나의 행으로 조합하게됨
-조인 조건 : 하나의 행으로 조합할 때 무결성이 보장이 된 행들이 보장되어야함. (d_id=d_id)
-n(조인테이블의 개수)-1개의 조인조건을 where절에 명시.
-조인조건이 생략되거나 잘못 작성시 카티션 프로덕트 현상 발생(=가능한 모든행의 조합을 시도)
-똑같은 이름을 가진 컬럼을 명시 할때 반드시 소유주 테이블 이름을 접두어로 명시
-고유 컬럼은 굳이 안붙여도 되지만 되도록 테이블써주자.
-from 절의 alias 는 공백으로 가능 -> 쓰게되면 셀렉 리스트와 조건문에 접두어 테이블이름을 짧게 줄일 수 있다. 다만, 혼용해서 쓸 수 없다. 풀네임 썼다가 alias 안됨.
select e.last_name, d.department_name, d.location_id, l.city
from employees e, departments d, locations l
where e.department_id=d.department_id
and d.location_id=l.location_id
and e.commission_pct is not null
-map(센서값, 현제센서의 최소값, 현재센서의 최대값, 변화할 최소값, 변화할 최대값) : 센서의범위를 내가 원하는 범위로 조절하는 함수
-가변저항은 스피커
void loop() {
tone(8,500,1000); // tone(핀번호, 주파수, 시간) ; 피에조부저 주파수를얼마나 길게 쓸것인가 1초
delay(2000); 아래 코드를 지연시킴. 톤에서 실행된 시간차 주기위해 2000으로 지정.
//핀모드쪽 선이 저항쪽으로 가게
if(digitalRead(3) == 1){ // 디지털신호를 읽어들이기. 3번핀이 1일때(눌릴때)
tone(8,262,300); //부저에 나올 소리 주파수
}else{
digitalWrite(3,0); //디지털신호를 쓸때
}
if(digitalRead(4) == 1){
tone(8,294,300);
}else{
digitalWrite(4,0);
}if(digitalRead(5) == 1){
tone(8,330,300);
}else{
digitalWrite(5,0);
}if(digitalRead(6) == 1){
tone(8,349,300);
}else{
digitalWrite(6,0);
}if(digitalRead(7) == 1){
tone(8,392,300);
}else{
digitalWrite(7,0);
}
-서보모터는 각도조절에 쓰임.검은선은 마이너스, 흰색 값을 읽어오는 제어선, 빨간색은 플러스선.
#include <Servo.h> //외부에서 라이브러리 불러들이기
Servo myservo; // myservo라는 변수지정
void setup() {
myservo.attach(6); //핀번호6
}
void loop() {
myservo.write(150); // 쓰기
delay(1000);
myservo.write(0);
delay(1000);
}