SQL

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

目次

  1. 1 SQL文
    1. 1.1 Data Definition Language (DDL)
      1. 1.1.1 ALTER DATABASE
      2. 1.1.2 ALTER DATABASE LINK
      3. 1.1.3 ALTER FUNCTION
      4. 1.1.4 ALTER INDEX
      5. 1.1.5 ALTER LIBRARY
      6. 1.1.6 ALTER MATERIALIZED VIEW
      7. 1.1.7 ALTER MATERIALIZED VIEW LOG
      8. 1.1.8 ALTER PACKAGE
      9. 1.1.9 ALTER PROCEDURE
      10. 1.1.10 ALTER ROLE
      11. 1.1.11 ALTER SEQUENCE
      12. 1.1.12 ALTER SYNONYM
      13. 1.1.13 ALTER TABLE
      14. 1.1.14 ALTER TABLESPACE
      15. 1.1.15 ALTER TRIGGER
      16. 1.1.16 ALTER USER
      17. 1.1.17 ALTER VIEW
      18. 1.1.18 COMMENT
      19. 1.1.19 CREATE DATABASE LINK
      20. 1.1.20 CREATE DIRECTORY
      21. 1.1.21 CREATE FUNCTION
      22. 1.1.22 CREATE INDEX
      23. 1.1.23 CREATE LIBRARY
      24. 1.1.24 CREATE MATERIALIZED VIEW
      25. 1.1.25 CREATE MATERIALIZED VIEW LOG
      26. 1.1.26 CREATE PACKAGE
      27. 1.1.27 CREATE PACKAGE BODY
      28. 1.1.28 CREATE PROCEDURE
      29. 1.1.29 CREATE ROLE
      30. 1.1.30 CREATE SEQUENCE
      31. 1.1.31 CREATE SYNONYM
      32. 1.1.32 CREATE TABLE
      33. 1.1.33 CREATE TABLESPACE
      34. 1.1.34 CREATE TRIGGER
      35. 1.1.35 CREATE USER
      36. 1.1.36 CREATE VIEW
      37. 1.1.37 DROP DATABASE LINK
      38. 1.1.38 DROP DIRECTORY
      39. 1.1.39 DROP FUNCTION
      40. 1.1.30 DROP INDEX
      41. 1.1.41 DROP LIBRARY
      42. 1.1.42 DROP MATERIALIZED VIEW
      43. 1.1.43 DROP MATERIALIZED VIEW LOG
      44. 1.1.44 DROP PACKAGE
      45. 1.1.45 DROP PROCEDURE
      46. 1.1.46 DROP ROLE
      47. 1.1.47 DROP SEQUENCE
      48. 1.1.48 DROP SYNONYM
      49. 1.1.49 DROP TABLE
      50. 1.1.50 DROP TABLESPACE
      51. 1.1.51 DROP TRIGGER
      52. 1.1.52 DROP USER
      53. 1.1.53 DROP VIEW
      54. 1.1.54 TRUNCATE TABLE
    2. 1.2 Data Manipulation Language (DML)
      1. 1.2.1 CALL
      2. 1.2.2 DELETE
      3. 1.2.3 EXPLAIN PLAN
      4. 1.2.4 INSERT
      5. 1.2.5 MERGE
      6. 1.2.6 SELECT
      7. 1.2.7 UPDATE
    3. 1.3 Data Control Language (DCL)
      1. 1.3.1 COMMIT
      2. 1.3.2 ROLLBACK
  2. 2 式
    1. 2.1 CASE
  3. 3 疑似列
    1. 3.1 ROWID
    2. 3.2 ROWNUM
    3. 3.3 順序の疑似列
      1. 3.3.1 NEXTVAL
      2. 3.3.2 CURRVAL
  4. 4 演算子
    1. 4.1 算術演算子
      1. 4.1.1 +
      2. 4.1.2 -
      3. 4.1.3 *
      4. 4.1.4 /
    2. 4.2 比較演算子
      1. 4.2.1 =
      2. 4.2.2 <>
      3. 4.2.3 !=
      4. 4.2.4 ~=
      5. 4.2.5 ^=
      6. 4.2.6 <
      7. 4.2.7 <=
      8. 4.2.8 >
      9. 4.2.9 >=
      10. 4.2.10 IS NULL
      11. 4.2.11 LIKE
      12. 4.2.12 BETWEEN
      13. 4.2.13 IN
      14. 4.2.14 EXISTS
    3. 4.3 論理演算子
      1. 4.3.1 AND
      2. 4.3.2 OR
      3. 4.3.3 NOT
    4. 4.4 集合演算子
      1. 4.4.1 MINUS
      2. 4.4.2 UNION
      3. 4.4.3 UNION ALL

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