EXISTS, ANY, ALL

์ˆ˜์ •ยท2024๋…„ 5์›” 30์ผ

DBMS

๋ชฉ๋ก ๋ณด๊ธฐ
10/18

๐Ÿ“Œ EXISTS

  • EXISTS๋Š” ํ•˜์œ„ ์ฟผ๋ฆฌ์— ๋ ˆ์ฝ”๋“œ๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

  • EXISTS ํ•˜์œ„ ์ฟผ๋ฆฌ๊ฐ€ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ์—ฐ์‚ฐ์ž๋Š” TRUE๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

	SELECT column_name(s)
		FROM table_name
		WHERE EXISTS 
        	(SELECT column_name 
            	FROM table_name 
                WHERE condition
            );
  • IF ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ์กด์žฌํ•  ๊ฒฝ์šฐ์˜ ๋ช…๋ น์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
	DROP DATABASE IF EXISTS database_name;

๐Ÿ“Œ ANY ,ALL ์—ฐ์‚ฐ์ž

  • ANY ๋ฐ ALL ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹จ์ผ ์—ด ๊ฐ’๊ณผ ๋‹ค๋ฅธ ๊ฐ’ ๋ฒ”์œ„๋ฅผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์—ฐ์‚ฐ์ž๋Š” ํ‘œ์ค€ ๋น„๊ต ์—ฐ์‚ฐ์ž(=, <>, !=, >, >=, < ๋˜๋Š” <=)์—ฌ์•ผ ํ•œ๋‹ค.

๐Ÿ“ ANY

  • ANY๋Š” ๋ฒ”์œ„ ๋‚ด์˜ ๊ฐ’ ์ค‘ ํ•˜๋‚˜์— ๋Œ€ํ•ด ์—ฐ์‚ฐ์ด TRUE์ธ ๊ฒฝ์šฐ ์กฐ๊ฑด์ด TRUE๊ฐ€ ๋จ์„ ์˜๋ฏธํ•œ๋‹ค.

  • ๊ฒฐ๊ณผ๋กœ boolean๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ํ•˜์œ„ ์ฟผ๋ฆฌ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์กฐ๊ฑด์— ์ถฉ์กฑํ•˜๋ฉด TRUE๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

	SELECT column_name(s)
		FROM table_name
		WHERE column_name operator 
        ANY (SELECT column_name
  				FROM table_name
  				WHERE condition
            );

๐Ÿ“ ALL

  • ALL์€ ํ•ด๋‹น ๋ฒ”์œ„์˜ ๋ชจ๋“  ๊ฐ’์— ๋Œ€ํ•ด ์—ฐ์‚ฐ์ด TRUE์ธ ๊ฒฝ์šฐ์—๋งŒ ์กฐ๊ฑด์ด TRUE๊ฐ€ ๋จ์„ ์˜๋ฏธํ•œ๋‹ค.

  • ๊ฒฐ๊ณผ๋กœ boolean๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ๋ชจ๋“  ํ•˜์œ„ ์ฟผ๋ฆฌ ๊ฐ’์ด ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜๋ฉด TRUE๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

  • SELECT, WHERE, HAVING ๋ฌธ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋œ๋‹ค.

	# SELECT์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋œ ALL ๊ตฌ๋ฌธ
	SELECT ALL column_name(s)
		FROM table_name
		WHERE condition;
    
    # WHERE, HAVING๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋œ ALL ๊ตฌ๋ฌธ
    SELECT column_name(s)
		FROM table_name
		WHERE column_name operator 
        ALL (SELECT column_name
  				FROM table_name
  				WHERE condition
            );

0๊ฐœ์˜ ๋Œ“๊ธ€