전체 글 53

[SQL 문법] IS NULL

NULL 은 아무것도 아닌, 아무것도 없는 값. 테이블을 만든다고 값을 전부 넣을 필요는 없다. 우리가 회원가입 시 개인정보 입력할 때 필수 입력이 아닌 것이 있듯이. 즉, NULL 이 생길 수 있다. NULL 찾기 CREATE TABLE contacts ( id int GENERATED BY DEFAULT AS IDENTITY , first_name varchar(50) NOT NULL ,last_name varchar(50) NOT NULL ,email varchar(255) NOT NULL ,phone varchar(15) ,PRIMARY key(ID) ); INSERT INTO contacts(first_name,last_name,email,phone) VALUES ('ho','do','doho@..

[SQL 문법] LIKE

유사한 패턴을 가지는 요소를 뽑는다. 이름이 'Jan'으로 시작하는 사람 찾기 SELECT c.first_name , c.last_name FROM customer c WHERE c.first_name LIKE 'Jan%'; 'Jan'이 포함 된 것들이 나옵니다. 검색할 때 사용할 듯 하네요. 여기에 쓰이는 두 개 도우미가 있습니다. '%'와 '_' SELECT 'foo' LIKE 'foo' ,'foo' LIKE 'f%' ,'foo' LIKE '%o' ,'foo' LIKE 'F%' ,'foo' LIKE '_o_' ,'foo' LIKE 'f_' ,'fow' LIKE '%o'; %는 개수에 상관 없이 뭐든 포함 되고, _는 개수가 무조건 맞아야 합니다. 그리고 대소문자 구분합니다 따라서 위의 결과는 참,참,..

[SQL 문법] BETWEEN

특정 범위의 값을 뽑기 'payment' 테이블에서 amount 값이 8과 9 사이인 값 뽑기 SELECT p.customer_id , p.payment_id , p.amount FROM payment p WHERE p.amount BETWEEN 8 AND 9; 결과는 간단하다 반대로 8과 9 사이에 없는 값 뽑기 - NOT SELECT p.customer_id , p.payment_id , p.amount FROM payment p WHERE p.amount NOT BETWEEN 8 AND 9; 결과도 단순~ 일자 비교하기 - 실전 BETWEEN은 일자 비교에 많이 쓰임. 하지만 일자에서 timestamp 형은 비교에 제대로 안됨. 따라서 형을 바꿔야하는데, SELECT p.customer_id , p..

[SQL 문법] IN

집합에 값이 존재하는지 확인하는 연산자 customer_id의 값이 '1'과 '2'인 값 골라내기 SELECT r.customer_id , r.rental_id , r.rental_date FROM rental r WHERE r.customer_id IN (1,2) ORDER BY r.return_date DESC; 이렇게 1, 2 만 골라나옴 같은 표현. SELECT r.customer_id , r.rental_id , r.rental_date FROM rental r WHERE r.customer_id = 1 OR r.customer_id = 2 ORDER BY r.return_date DESC; 하지만, 가독성과 성능 측면에서 IN이 좋으니 IN을 쓰도록 하자~ customer_id의 값에 '1'과..

[SQL 문법] FETCH

LIMIT 와 동일하게 부분 범위 처리 시 사용한다. 부분 범위 처리를 잘하는 사람이 실력을 인정받고 있단다. LIMIT와 비교해서 다를게 없고 취향따라 쓴다고 한다. title로 정렬하여 최초의 1건을 뽑는다 SELECT f.language_id, f.fulltext FROM film f ORDER BY f.title LIMIT 1; 이렇게 하면 안되나? 싶은데 SELECT f.language_id, f.fulltext FROM film f ORDER BY f.title LIMIT 1; 그래서 궁금해서 ctrl + shift + E 해보았다 뭐 비슷.. 앞에 10개 이후에 최초의 10건을 뽑는다 SELECT f.film_id , f.title FROM film f ORDER BY f.title OFFS..

[SQL 문법] LIMIT

출력 값을 제한하는 용도. 엄청 많이 쓰임. postgresql, mysql 에서 지원 'film' table의 5개 행 불러오기 SELECT f.film_id, f.title, f.release_year FROM film f LIMIT 5; 5개를 가져옵니다. 그런데 계속 해보면 film_id 가 랜덤인 것을 알 수 있습니다. 왜냐하면 order by 가 없기 때문입니다. 'film' table의 5번째 까지 행 불러오기 SELECT f.film_id, f.title, f.release_year FROM film f ORDER BY f.film_id LIMIT 5 ; 이젠 5개가 깔끔하게 불러와 집니다. 'film' table의 11번째 부터 15번째 까지 행 불러오기 - OFFSET SELECT f...

[SQL 문법] SELECT DISTINCT

중복 값을 제외하고 분명히 다른 항목만 가져온다. *distinct : 뚜렷이 다른, 별개의 Table 만들기 SELECT DISTINCT - 기초 SELECT DISTINCT bcolor FROM t1 ORDER BY bcolor SELECT DISTINCT - 2개 column SELECT DISTINCT bcolor,fcolor FROM t1 t ORDER BY bcolor ,fcolor ; bcolor와 fcolor 값이 둘다 같은 ('red','red') 가 1개만 나왔다 SELECT DISTINCT - 2개 column 과 'ON' SELECT DISTINCT ON (fcolor) bcolor, fcolor FROM t1 t ORDER BY fcolor, bcolor ; SELECT DISTI..

Google Analytics 4 로 업데이트 되어 바뀐 부분

아마 지금 인강이나 지난 영상으로 GA 공부를 시작하는 분이면 나랑 비슷한 처지일 듯 하다. 구글 애널리틱스가 업데이트가 되어 변화가 생겨 수업을 따라가기 어렵다. 수업 실습을 하기 위해 기존의 버전으로 만들려면 속성 만들기 에서 - 고급 옵션 보기 - '유니버셜 애널리틱스 속성 만들기' 를 해야한다. '유니버셜 애널리스트 속성'이 옛날 버전의 명칭이다. 인강(패스트캠퍼스 디지털 마케팅 온라인 클래스)으로 구글 애널리틱스를 공부하는데, 강사님이 설명해주시는 부분이 아무리 눈뜨고 찾아봐도 안보이고 그냥 항목 탭 자체가 없는 경우도 있었다. 물론 GA의 업데이트 때문이겠지만 그 변화가 너무 크고 수업 진행이 안될 정도니 이건 너무 심한 것 아닌가 싶었다. 계속 강의를 듣다보니 분노에 차올라 강의 영상을 언제..