묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨초보자를 위한 BigQuery(SQL) 입문
Espanso 실행 문제 해결
안녕하세요. 수업 유익하게 잘 듣고 있습니다! Espanso를 다운받아서 설정해봤는데요! 텍스트 편집기에서 수정까지 되었고, espanso 프로그램에서 open search bar 를 눌러봤을 때 첨부드린 이미지처럼 :sql 이 잘 들어가 있습니다. 그런데 :sql 과 같은 trigger 단어를 입력해도 변하지 않아서 어떤 다른 해결 방법이 있을지 문의드립니다.혹시 espanso의 설정 수정까지는 잘 되었으나, espanso가 어떤 권한 문제로 적용이 안될 수도 있나요? 추가로 시도해볼만한 방법이 있다면 안내 부탁드립니다. 감사합니다!
-
미해결[백문이불여일타] 데이터 분석을 위한 SQL 실전편 (무료 미니 코스)
이메일 오픈 비율 값이 예시와 다르게 나와요
이메일 오픈 비율을 카운트로 뽑고 구글에서 퍼센테이지 변환 했습니다. 그런데 제시된 데이터 프레임에 있는 퍼센테이지와는 다른 값이 나왔는데 .. 문제가 없는건가요?? 분석 자료로 주신 엑셀 자료에서도 모드에서 제공되는 예시와 동일한데 저만 결과가 다르게 나오니까 뭐가 문제인지 모르겠습니다..!!
-
해결됨장래쌤과 함께하는 쉽고 재미있는 SQL 이야기
Join 질문
안녕하세요 선생님, 질문 드립니다 A테이블과 B테이블을 조인해서 B테이블에만 있는 값을 가져오려고하는데요 두 테이블 간의 조인 key 값은 있지만 데이터 수는 다릅니다 예시로 A테이블에 10개의 데이터를 가지고있고 B테이블에 3개 데이터를 가지고있으면 A 의 10개 값에 B 값을 붙이려고합니다 안나오는 값은 null 이 되더라도 A 의 모수를 살리고싶은데 조인을 어떻게해도 같은거만 가져오는건지 3개만 반환이되서요.. A의 모수를 살리면서 B 값만 (마치 브이룩업처럼) 붙이는 방법을 알고싶습니다
-
해결됨실전 jOOQ! Type Safe SQL with Java
dslContext 작성 시 fetchGroups 이렇게 작성해도 될까요?
fun findActorFilmography(searchOption: ActorFilmographySearchOption): List<ActorFilmography> { val actorListMap = dslContext.select( ACTOR, FILM, ).from(ACTOR) .join(FILM_ACTOR).on(ACTOR.ACTOR_ID.eq(FILM_ACTOR.ACTOR_ID)) .join(FILM).on(FILM.FILM_ID.eq(FILM_ACTOR.FILM_ID)) .where( containsIfNotBlank(ACTOR.FIRST_NAME.concat(" ").concat(ACTOR.LAST_NAME), searchOption.actorName), containsIfNotBlank(FILM.TITLE, searchOption.filmTitle), ) // 이 부분!! .fetchGroups( { record -> record[ACTOR.name, Actor::class.java] }, { record -> record[FILM.name, Film::class.java] } ) return actorListMap.entries .map { entry -> ActorFilmography(entry.key, entry.value) } } private fun containsIfNotBlank(field: Field<String?>, inputValue: String?): Condition { if (inputValue.isNullOrBlank()) { return DSL.noCondition() } return field.likeRegex(inputValue) }alias을 사용하지 않고, name으로 추출해봤더니 데이터가 정상적으로 잘 나와서요!! 혹시나 예외 케이스도 있을 수 있을 것 같아 질문합니다!
-
해결됨실전 jOOQ! Type Safe SQL with Java
update with dto 질문
안녕하세요 강사님update, delete를 통한 데이터 수정, 삭제 강의를 듣는 도중 이상한 점이 있는것 같아 질문드립니다.update with dao 설명 중 var firstname과 var lastname의 반환값이 Filed<String>이 된다는 설명(약 7분정도)을 해주셨고 값이 없을때는 무시가 된다고 하셨는데,7분 33초쯤에 로그를 아래 제가 첨부한 사진과 같이 나옵니다.last_name이 TTTTT로 되어있습니다.편집상의 오류인지 로그 출력이 왜 저런지 의문이 들어 질문드립니다.
-
해결됨실전 jOOQ! Type Safe SQL with Java
R2DBC 환경에서 jOOQ generate 된 Dao를 사용할 수 있는 방법이 있을까요?
jOOQ generate을 통해서 생성된 Dao를 기반으로 R2DBC 환경에서 테스트를 진행할 때 findAll(), findById() 등 뒤에 fetch()가 붙어서 Blocking 방식으로 DB에 접근하게 되어 있었습니다.fetch() 코드를 들어가서 확인하였을 때 아래와 같았습니다. @Blocking <E> @NotNull List<E> fetch(RecordMapper<? super R, E> var1) throws DataAccessException; 그래서, jOOQ 공식 사이트에서 찾아보았을 때 아래와 같이 reactor fecth()가 가능하다는 것은 확인하였습니다.https://www.jooq.org/doc/latest/manual/sql-execution/fetching/reactive-fetching/ Dao을 적용해서 Reactor 방식으로 진행할 수 있는 방법은 없을까요??또한, Reactor Fetch 방식으로 실행하였을 때 디버깅 로그가 찍히지 않는 문제가 발생하고 있는데 이것에 대해서도 해결 방법이 있을까요???Configuration이 적용되지 않는 것 같아서 아래와 같이 설정도 해보았지만 적용되지는 않았습니다. import io.r2dbc.spi.ConnectionFactory; ... @Configuration public class JooqConfig { public final ConnectionFactory connectionFactory; public JooqConfig(ConnectionFactory connectionFactory) { this.connectionFactory = connectionFactory; } ... @Bean public DSLContext jooQDSLContext() { DSLContext dsl = DSL.using(connectionFactory).dsl(); dsl.configuration().set(PerformanceListener::new); dsl.settings().withRenderSchema(false); return dsl; }
-
미해결Database - SQL
MySQL 실습
CUSTOMER ID FORMATTING- 1: 00001- 2: 00002- 13: 00013SELECT CUSTOMERID, CONCAT(REPEAT('0', 5-LENGTH(CUSTOMERID)), CUSTOMERID)FROM CUSTOMER;MySQL은 문자열 + 하기 연산이 없어서CONCAT 함수를 사용해야 합니다
-
해결됨실전 jOOQ! Type Safe SQL with Java
IDE로 스프링부트 실행없이 jooq로 짠 쿼리 결과를 바로 확인하는 방법이 있을까요?
jOOQ를 공부하면서 너무 편하게 쿼리를 작성하고 있는데 한가지 불편한 점이 있어서 질문 드립니다. 단순 쿼리 결과를 확인하고 싶은 경우 마이바티스는 xml에 짠 쿼리를 DB 스키마와 바로 연결해 스프링부트를 띄울 필요 없이 intelliJ IDE에서 쿼리를 날리고 서비스 탭에서 쿼리 결과를 보여주도록 할 수있는데, jOOQ는 자바 코드로 되어 있어서 이렇게 IDE에서 바로 쿼리 결과를 확인해볼 수 없더라구요. 테스트코드로 실행한 후 나간 쿼리를 직접 sql 콘솔에 찍어 결과를 보거나, 강의 마지막에 알려주신 jooq SQL 변환 사이트로 자바 코드로 되어있는 jooq 구문을 sql로 변환해서 sql 콘솔에서 실행하는 방법 말고 더 편리한 방법이 있는지 궁금합니다.
-
미해결데이터 분석 SQL Fundamentals
다양한 window절의 이해 -01, 02
윈도우 절 코드 실습 중입니다.select product_id, product_name, category_id , unit_price, sum(unit_price) over (partition by category_id order by unit_price rows between 1 preceding and 1 following) as unit_price_sum from products;위 코드는 제공해주신 base 코드입니다. 해당 unit_price_sum을 소수점 둘째자리 까지만 표시하고자 round 함수를 썼는데,round(sum(unit_price) over (partition by category_id order by unit_price rows between 1 preceding and 1 following), 2) as unit_price_sum from products; "SQL Error [42883]: 오류: round(real, integer) 이름의 함수가 없음 Hint: 지정된 이름 및 인자 자료형과 일치하는 함수가 없습니다. 명시적 형변환자를 추가해야 할 수도 있습니다."이와 같은 에러가 납니다. 그래서 with절로 해당 unit_price_sum을 temp_01이라는 임시 쿼리에 담아서 아래와 같이 했지만 이래도 위 오류와 동일하게 나오면서 되지 않네요with temp_01 as(select avg(unit_price) over (partition by category_id order by unit_price rows between 1 preceding and 1 following) as unit_price_avg from products) select round(temp_01.*, 2) from temp_01;select product_id, product_name, category_id, unit_price,avg(unit_price) over (partition by category_id order by unit_price rows between 1 preceding and 1 following) as unit_price_avg from products; 하는 방법이 있을까요? chat gpt도 서브쿼리로 답을 제공했는데 동일한 문제가 발생했습니다.
-
해결됨장래쌤과 함께하는 쉽고 재미있는 SQL 이야기
pdf 문의드립니다
안녕하세요 강사님혹시 강의 pdf는 따로 다운하는 곳이 있을까요?
-
해결됨초보자를 위한 BigQuery(SQL) 입문
활용편 급합니다.....
활용편 언제 나오나요급합니다.... 빨리 내놓으십쇼..유료로 내주셔도 긁겠습니다
-
해결됨초보자를 위한 BigQuery(SQL) 입문
오류
다음과 같이 실행했는데 오류가 뜨는데, 이유가 무엇일까요? SELECT * IF(speed >= 70, "빠름", "느림") AS Speed_Category FROM `inflearn-bigquery-practice.basic.pokemon` Syntax error: Expected end of input but got keyword IF at [3:3]
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
락과 트랜잭션 격리수준 차이는 뭔가여?
db커넥션 여러개가 접근해야 할때 락을 사용해야 하나여아니면 트랜잭션 격리수준의 높은레벨을 사용해야 할까요 둘의 차이를 모르겠습니다 ㅠ
-
해결됨오라클 SQL 데이터베이스
애플 silicon 컨테이너 실행 시 오타있습니다
jinkyuoung x -> jinkyoung o
-
해결됨실전 jOOQ! Type Safe SQL with Java
build.gradle.kts
plugins { id("org.springframework.boot") version "3.3.0" id("io.spring.dependency-management") version "1.1.5" kotlin("jvm") version "1.9.24" kotlin("plugin.spring") version "1.9.24" id("nu.studer.jooq") version "9.0" } group = "com.sight" version = "0.0.1-SNAPSHOT" java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } repositories { mavenCentral() } dependencies { implementation("org.springframework.boot:spring-boot-starter-jooq") implementation("org.springframework.boot:spring-boot-starter-web") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("org.jetbrains.kotlin:kotlin-reflect") runtimeOnly("com.mysql:mysql-connector-j") testImplementation("org.springframework.boot:spring-boot-starter-test") testImplementation("org.jetbrains.kotlin:kotlin-test-junit5") testRuntimeOnly("org.junit.platform:junit-platform-launcher") jooqGenerator("com.mysql:mysql-connector-j") jooqGenerator("org.jooq:jooq") jooqGenerator("org.jooq:jooq-meta") } kotlin { compilerOptions { freeCompilerArgs.addAll("-Xjsr305=strict") } } tasks.withType<Test> { useJUnitPlatform() } val dbUser: String = System.getProperty("db-user") ?: "root" val dbPassword: String = System.getProperty("db-passwd") ?: "passwd" jooq { configurations { create("sakilaDB") { generateSchemaSourceOnCompilation.set(false) // 기본적으로 스키마 소스 생성을 비활성화합니다. jooqConfiguration.apply { jdbc.apply { driver = "com.mysql.cj.jdbc.Driver" url = "jdbc:mysql://localhost:3306/sakila" user = dbUser password = dbPassword } generator.apply { name = "org.jooq.codegen.KotlinGenerator" // 코틀린 제너레이터 명시 database.apply { name = "org.jooq.meta.mysql.MySQLDatabase" inputSchema = "sakila" } generate.apply { isDaos = true isRecords = true isFluentSetters = true isJavaTimeTypes = true isDeprecated = false } target.apply { directory = "src/generated" } } } } } } sourceSets { main { kotlin { srcDirs(listOf("src/main/kotlin", "src/generated")) } } } 3.3.0 버전은 jooq 최신버전을 사용하고 있는 것 같아서 group 재설정은 뺐습니다.
-
해결됨실전 jOOQ! Type Safe SQL with Java
마리아 DB 쓰시는분들은 mysql 파일 쓰시면됩니다.
저는 마리아 db 사용해서 mysql 파일 사용하니 잘 됩니다.
-
미해결데이터 분석 SQL Fundamentals
having절에서 alias 사용은 안되는건가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.Group By 실습 -01 강의 ,1분 20초select deptno, max(sal) as maxsal , min(sal) as minsal, round(avg(sal),2) as avgsal from hr.emp egroup by e.deptno having round(avg(sal), 2) >=2000;avgsal >= 2000 을 사용하려했는데, 안되더군요. 원래 having절에서는 안되나요?
-
해결됨실전 jOOQ! Type Safe SQL with Java
영상 소리가 작아졌습니다.
Sakila DB를 기반으로 DB 구성하기 챕터 영상의 소리가 앞선 영상에 비해 매우 작네요!
-
해결됨장래쌤과 함께하는 쉽고 재미있는 SQL 이야기
regexp like 에 특정 특수기호 포함
안녕하세요 강사님! 컬럼에 특수기호 중 + (플러스) 문자가 포함된 값을 찾으려고하는데요 정규식에 해당 기호를 쓰면 오류가 발생하는데 어떻게 해당 문자만 골라 뽑을 수 있을지 질문드립니다 .
-
해결됨데이터 분석 SQL Fundamentals
데이터엔지니어 역량
안녕하세요. sql기초를 닦고 데이터테크놀리지학과에 재학중인 학생입니다. 제가 궁금한부분은 다음관같아요.백엔드부분은 어디까지 알면 좋을까요?데이터엔지니어를 희망하며 Sql공부중이고,Spark,kafka,airflow같은 부분도 공부를 해야할텐데. 비중을 저는 백엔드(java spring jpa) 보단 당연히 sql,spark,kafka,airflow에 실어야된다고 생각해요. 비중을 이쪽에 실으되, 백엔드(java spring jpa)공부도 하긴해야할텐데 어느정도까지는 그래도 해야된다.할줄알아야한다.이런게 있을까요?아니다. 잘못알고있다.둘다잘해야한다.? 할게많아서 다하기 쉽지 않을것같아서 고민입니다. . Spring jpa도 비중있게 공부해야한다면 지금 조금 학습한상태에서 +스프링db(JdbcTemplate, MyBatis 같은 SQL 매퍼 기술 부터, JPA, 스프링 데이터 JPA, Querydsl, 쓰레드로컬, 스프링aop),스프링활용(스프링 부트와 JPA를 활용해서 웹 애플리케이션 개발, rest api개발),스프링부트, 스프링 데이터jpa, 이정도 계획입니다. 부족할까요? 과할까요정보의 홍수에서 권철님 선생님의 조언이 제 올바른 방향의 길잡이에 큰 도움이 될것같습니다. 감사합니다