[プログラマー/MySQL]Lv.3, Lv.四つの問題.


Lv.3


失去的唱片的检索

SELECT ANIMAL_OUTS.ANIMAL_ID , ANIMAL_OUTS.NAME
FROM ANIMAL_OUTS 
LEFT JOIN ANIMAL_INS  
ON ANIMAL_INS.ANIMAL_ID = ANIMAL_OUTS.ANIMAL_ID
WHERE ANIMAL_INS.ANIMAL_ID IS NULL
ORDER BY ANIMAL_ID;
あとで簡単に整理します

ソース:https://dsin.wordpress.com/2013/03/16/sql-join-cheat-sheet/

いいえ。

SELECT ANIMAL_INS.ANIMAL_ID, ANIMAL_INS.NAME
FROM ANIMAL_INS
LEFT JOIN ANIMAL_OUTS
ON ANIMAL_INS.ANIMAL_ID = ANIMAL_OUTS.ANIMAL_ID
WHERE ANIMAL_INS.DATETIME > ANIMAL_OUTS.DATETIME
ORDER BY ANIMAL_INS.DATETIME;

長期保護動物(1)

SELECT ANIMAL_INS.NAME,ANIMAL_INS.DATETIME
FROM ANIMAL_INS 
LEFT JOIN ANIMAL_OUTS 
ON ANIMAL_INS.ANIMAL_ID = ANIMAL_OUTS.ANIMAL_ID
WHERE ANIMAL_OUTS.ANIMAL_ID IS NULL
ORDER BY DATETIME 
LIMIT 3;

有压力的地方

SELECT ID,NAME,HOST_ID
FROM PLACES 
WHERE HOST_ID IN(
    SELECT HOST_ID 
    FROM PLACES 
    GROUP BY HOST_ID
    HAVING COUNT(HOST_ID) >1);
重複するHOST ID値を検索し(HOST IDをパケット化し、PLACEテーブル内のHOST ID群毎の数を1より大きくする)、その値のID、NAME、HOST IDを読み出す

長期保護動物(2)

SELECT ANIMAL_OUTS.ANIMAL_ID, ANIMAL_OUTS.NAME
FROM ANIMAL_OUTS
LEFT JOIN ANIMAL_INS
ON  ANIMAL_INS.ANIMAL_ID =  ANIMAL_OUTS.ANIMAL_ID
ORDER BY TIMESTAMPDIFF(MINUTE,ANIMAL_INS.DATETIME, ANIMAL_OUTS.DATETIME) DESC
LIMIT 2;

Lv.4


牛奶和酸奶满满的购物篮球


人の懐を見ている.私にはできない
SELECT DISTINCT CART_ID
FROM CART_PRODUCTS 
WHERE NAME = 'Milk' AND CART_ID IN 
(
    SELECT DISTINCT CART_ID
    FROM CART_PRODUCTS 
    WHERE NAME = 'Yogurt'
) 
ORDER BY CART_ID

養子縁組取得時間(2)


この問題の整理のよいところ<整理し直して勉強

保护中性化的动物


Lv.4の中で唯一解けた残りの再整理復習
SELECT ANIMAL_OUTS.ANIMAL_ID, ANIMAL_OUTS.ANIMAL_TYPE,ANIMAL_OUTS.NAME
FROM ANIMAL_OUTS
LEFT JOIN ANIMAL_INS
ON  ANIMAL_INS.ANIMAL_ID =  ANIMAL_OUTS.ANIMAL_ID
WHERE ANIMAL_INS.SEX_UPON_INTAKE LIKE 'Intact %' AND 
    (ANIMAL_OUTS.SEX_UPON_OUTCOME LIKE 'Spayed %' OR 
     ANIMAL_OUTS.SEX_UPON_OUTCOME LIKE 'Neutered %')
ORDER BY ANIMAL_OUTS.ANIMAL_ID