특정 형질을 갖는 대장균 찾기

문제 설명

대장균들은 일정 주기로 분화하며, 분화를 시작한 개체를 부모 개체, 분화가 되어 나온 개체를 자식 개체라고 합니다.
다음은 실험실에서 배양한 대장균들의 정보를 담은 ECOLI_DATA 테이블입니다. ECOLI_DATA 테이블의 구조는 다음과 같으며, ID, PARENT_ID, SIZE_OF_COLONY, DIFFERENTIATION_DATE, GENOTYPE 은 각각 대장균 개체의 ID, 부모 개체의 ID, 개체의 크기, 분화되어 나온 날짜, 개체의 형질을 나타냅니다.

최초의 대장균 개체의 PARENT_ID 는 NULL 값입니다.

문제

2번 형질이 보유하지 않으면서 1번이나 3번 형질을 보유하고 있는 대장균 개체의 수(COUNT)를 출력하는 SQL 문을 작성해주세요. 1번과 3번 형질을 모두 보유하고 있는 경우도 1번이나 3번 형질을 보유하고 있는 경우에 포함합니다.

SELECT
    COUNT(ID) COUNT
FROM
    ECOLI_DATA
WHERE
    GENOTYPE & 5         -- 0101
    AND NOT GENOTYPE & 2 -- 0010
728x90

 

1. MySQL 설치 : https://dev.mysql.com/downloads/windows/installer/8.0.htmlㅇ

 

MySQL :: Download MySQL Installer

Select Operating System: Select Operating System… Microsoft Windows Select OS Version: All Windows (x86, 32-bit) Windows (x86, 32-bit), MSI Installer 8.0.26 2.4M (mysql-installer-web-community-8.0.26.0.msi) MD5: eaddc383a742775a5b33a3783a4890fb | Signatu

dev.mysql.com

npm install mysql

 

2. test용 database 생성

CREATE DATABASE HOMPAGE;

CREATE TABLE USER (
	ID VARCHAR(45) NOT NULL,
    PASSWORD VARCHAR(45) NOT NULL,
    PRIMARY KEY(ID)
);

CREATE TABLE POST_LIST(
	POST_ID INT NOT NULL AUTO_INCREMENT,
    TITLE VARCHAR(50) NOT NULL,
    CONTENT VARCHAR(50) NOT NULL
);

USER TABLE
POST_LIST TABLE

 

 

3. db.js

const mysql = require('mysql'); // mysql module 불러오기
const port = 3000; // 사용할 port number


// createConnection() : mysql db server와 연결하기위한 Connection 객체 생성, 인자 ( db 관련 info )
const connection = mysql.createConnection({
    host : 'localhost',
    user :'root',
    password : 'your db password',
    database : 'homepage'
});

// db 연결하기.
connection.connect(function(err){
    if(err) throw err;
    console.log("Connected!");
});

// connection.query('query',callback )
// db로 query문 전송하고, callback 함수 실행
// results는 query문에 대한 return값을 받아옴

connection.query('SELECT * FROM post_list WHERE post_id=1;',function(error, results, fields){
    if(error) throw error;
    const queryResult_id = results[0].post_id;
    const queryResult_title = results[0].title;
    const queryResult_content = results[0].content;
    console.log(`DATABASE :
    post_id : ${queryResult_id}
    title : ${queryResult_title}
    content : ${queryResult_content}
    `);
});

 

4. 결과 


 

참고 : https://www.npmjs.com/package/mysql

 

mysql

A node.js driver for mysql. It is written in JavaScript, does not require compiling, and is 100% MIT licensed.

www.npmjs.com

 

728x90

+ Recent posts