w1_sqlite_sql - steelbear/HMG_Softeer_DE GitHub Wiki

Count(Distinct Countries)์™€ Count(*)์˜ ์ฐจ์ด

  • Count(Distinct Countries)
    • ์ง‘๊ณ„์‹œ NULL ์ œ์™ธ
  • Count(*)
    • NULL ์ƒ๊ด€ ์—†์ด row ์ˆ˜๋กœ ์ง‘๊ณ„

LIMIT

  • MySQL์™€ ๋™์ผํ•˜๊ฒŒ LIMIT ์‚ฌ์šฉ

ANY์™€ ALL

  • ANY์™€ ALL ๋ชจ๋‘ ์ง€์›ํ•˜์ง€ ์•Š์ง€๋งŒ ๋Œ€์ฒด ๊ฐ€๋Šฅ
    • ANY๋Š” IN์œผ๋กœ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
SELECT ProductName FROM Products
WHERE ProductID IN (SELECT ProductID
                    FROM [Order Details]
                    WHERE Quantity =1 0);
  • ALL์€ ๋ช‡๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋Œ€์ฒด ๊ฐ€๋Šฅ
    • ๊ฒฐ๊ตญ ๊ฒฐ๊ณผ๊ฐ€ ๋™์ผํ•œ ์ฟผ๋ฆฌ๋กœ ๋ณ€ํ™˜ (MAX, MIN)
    • COUNT ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•œ ๋ฐฉ๋ฒ•
SELECT ProductName, ProductID
FROM Products P
WHERE 
(SELECT COUNT(ProductID) FROM [Order Details] O WHERE O.Quantity = 10)
    = (SELECT COUNT(ProductID) FROM [Order Details] O WHERE O.Quantity = 10 AND O.ProductID <= P.ProductID);

SELECT INTO

  • CREATE TABLE ... AS๋กœ ๋Œ€์ฒด ๊ฐ€๋Šฅ
CREATE TABLE CustomersBackup2017 AS SELECT * FROM Customers;
  • ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ATTACH DATABASE๋กœ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค
ATTACH DATABASE 'northwind_bak.db' AS external_db;
CREATE TABLE ProductsBackup AS SELECT * FROM external_db.Products;
DETACH DATABASE external_db;

Stored Procedure

  • SQLite์—๊ฒŒ๋Š” ํ•„์š”์—†๋Š” ๊ธฐ๋Šฅ
    • ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ฟผ๋ฆฌ๋ฅผ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ํ•œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—ฌ๋Ÿฌ ์ค„์˜ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์›์ž์„ฑ(Atomic)์„ ๋ณด์žฅํ•  ์ˆ˜ ์—†์Œ
    • ํ•˜์ง€๋งŒ SQLite์˜ ํด๋ผ์ด์–ธํŠธ๋Š” ๋Œ€์ฒด๋กœ ํ†ตํ•ฉ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž์ฒด์ด๋ฏ€๋กœ ๊ถ…์ด Procedure๋ฅผ ์„ ์–ธํ•˜์ง€ ์•Š๊ณ  cur.executescript๋ฅผ ์‹คํ–‰