SQL

SQLとはリレーショナルデータベースの問い合わせ言語です。

目次

  1. SQL文
    1. Data Definition Language (DDL)
      1. ALTER DATABASE
      2. ALTER DATABASE LINK
      3. ALTER FUNCTION
      4. ALTER INDEX
      5. ALTER LIBRARY
      6. ALTER MATERIALIZED VIEW
      7. ALTER MATERIALIZED VIEW LOG
      8. ALTER PACKAGE
      9. ALTER PROCEDURE
      10. ALTER ROLE
      11. ALTER SEQUENCE
      12. ALTER SESSION
      13. ALTER SYNONYM
      14. ALTER SYSTEM
      15. ALTER TABLE
      16. ALTER TABLESPACE
      17. ALTER TRIGGER
      18. ALTER USER
      19. ALTER VIEW
      20. COMMENT
      21. CREATE DATABASE LINK
      22. CREATE DIRECTORY
      23. CREATE FUNCTION
      24. CREATE INDEX
      25. CREATE LIBRARY
      26. CREATE MATERIALIZED VIEW
      27. CREATE MATERIALIZED VIEW LOG
      28. CREATE PACKAGE
      29. CREATE PACKAGE BODY
      30. CREATE PROCEDURE
      31. CREATE ROLE
      32. CREATE SEQUENCE
      33. CREATE SYNONYM
      34. CREATE TABLE
      35. CREATE TABLESPACE
      36. CREATE TRIGGER
      37. CREATE USER
      38. CREATE VIEW
      39. DROP DATABASE LINK
      40. DROP DIRECTORY
      41. DROP FUNCTION
      42. DROP INDEX
      43. DROP LIBRARY
      44. DROP MATERIALIZED VIEW
      45. DROP MATERIALIZED VIEW LOG
      46. DROP PACKAGE
      47. DROP PROCEDURE
      48. DROP ROLE
      49. DROP SEQUENCE
      50. DROP SYNONYM
      51. DROP TABLE
      52. DROP TABLESPACE
      53. DROP TRIGGER
      54. DROP USER
      55. DROP VIEW
      56. TRUNCATE TABLE
    2. Data Manipulation Language (DML)
      1. CALL
      2. DELETE
      3. EXPLAIN PLAN
      4. INSERT
      5. MERGE
      6. SELECT
      7. UPDATE
    3. Data Control Language (DCL)
      1. COMMIT
      2. GRANT
      3. REVOKE
      4. ROLLBACK
    1. CASE
  2. 疑似列
    1. ROWID
    2. ROWNUM
    3. 順序の疑似列
      1. NEXTVAL
      2. CURRVAL
  3. 演算子
    1. 算術演算子
      1. +
      2. -
      3. *
      4. /
    2. 比較演算子
      1. =
      2. <>
      3. !=
      4. ~=
      5. ^=
      6. <
      7. <=
      8. >
      9. >=
      10. IS NULL
      11. LIKE
      12. BETWEEN
      13. IN
      14. EXISTS
    3. 論理演算子
      1. AND
      2. OR
      3. NOT
    4. 集合演算子
      1. MINUS
      2. UNION
      3. UNION ALL
    5. 代入演算子
      1. :=
    6. 文字列連結演算子
      1. ||
    7. 外部結合演算子
      1. (+)

3 疑似列

3.1 ROWID

ROWID疑似列とは、行のアドレスであり、テーブル内で一意である。

SQL> SELECT ROWID FROM quotes WHERE code = 4755;

ROWID
------------------
AAADVFAABAAAI1KAAA

SQL>

SELECT文のWHERE句に条件として指定できる。

SQL> SELECT * FROM quotes WHERE ROWID = 'AAADVFAABAAAI1KAAA';

      CODE NAME
---------- ----------------------------------------------------------------
      4755 楽天

SQL>

3.2 ROWNUM

ROWNUM疑似列とは、問い合わせで戻された行の番号であり、1から順番に付けられる。

SELECT empno FROM (
  SELECT empno FROM emp ORDER BY empno
)
WHERE RONUM <= 10
ORDER BY empno

SELECT文のWHERE句に条件として指定することで、先頭n件の結果だけを取得できる。

SELECT * FROM emp WHERE ROWNUM <= 10